16题箴淦,来带领大家循环输出各种图形

简介: 16题箴淦,来带领大家循环输出各种图形

1.线段图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。


输入描述:

多组输入,一个整数(1~100),表示线段长度,即“*”的数量。


输出描述:

针对每行输入,输出占一行,用“*”组成的对应长度的线段。


示例1

输入:


10

2

输出:


**********

**

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
       {
          printf("*");
       }
          printf("\n");
    }
    return 0;
}


2.正方形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正方形图案。


输入描述:

多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的对应边长的正方形,每个“*”后面有一个空格。


示例1

输入:


4

输出:


* * * *

* * * *

* * * *

* * * *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        int j=0;
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}


3.直角三角形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的直角三角形图案。


输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。


示例1

输入:


4

输出:


*

* *

* * *

* * * *

示例2

输入:


5

输出:


*

* *

* * *

* * * *

* * * * *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        int j=0;
        for(i=0;i<n;i++)
        {
            for(j=0;j<=i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

4.翻转直角三角形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。


输入描述:

多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。


示例1

输入:


5

输出:


* * * * *

* * * *

* * *

* *

*

示例2

输入:


6

输出:


* * * * * *

* * * * *

* * * *

* * *

* *

*

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}


5.带空格直角三角形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。


输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。


示例1

输入:


5

输出:


       *

     * *

   * * *

 * * * *

* * * * *

示例2

输入:


4

输出:


     *

   * *

 * * *

* * * *


#include <stdio.h>
int main ()
{
    int n=0;
    while(scanf("%d",&n)!=EOF)
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            //先打印空格
            for(j=0;j<n;j++)
            {
                if(i+j<n-1)
                    printf("  ");
                else
                    printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

6.金字塔图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的金字塔图案。


输入描述:


多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。


示例1

输入:


4

输出:


  *

 * *

* * *

* * * *

示例2

输入:


5

输出:


   *

  * *

 * * *

* * * *

* * * * *


#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n-1-i;j++)
            {
                printf(" ");
            }
            for(j=0;j<=i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}


7.翻转金字塔图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。


输入描述:

多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。


输出描述:

针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。


示例1

输入:


5

输出:


* * * * *

* * * *

 * * *

  * *

   *

示例2

输入:


6

输出:


* * * * * *

* * * * *

 * * * *

  * * *

   * *

    *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<i;j++)
            {
                printf(" ");
            }
            for(j=0;j<n-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}


8.菱形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的菱形图案。


输入描述:

多组输入,一个整数(2~20)。


输出描述:

针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。


示例1

输入:


2

输出:


 *

* *

* * *

* *

 *

示例2

输入:


3

输出:


  *

 * *

* * *

* * * *

* * *

 * *

  *

示例3

输入:


4

输出:


   *

  * *

 * * *

* * * *

* * * * *

* * * *

 * * *

  * *

   *

#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        //上一半
        for (int i = 0; i < n + 1; i++) { //多一行
            for (int j = 0; j < n - i; j ++) {
                printf(" ");
            }
            for (int j = 0; j <=  i ; j++) {
                printf("* ");
            }
            printf("\n");
        }
//下一半
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                printf(" ");
            }
            for (int j = 0; j < n - i; j++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}


9. K形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。


输入描述:

多组输入,一个整数(2~20)。


输出描述:

针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。


示例1

输入:


2

输出:


* * *

* *

*

* *

* * *

示例2

输入:


3

输出:


* * * *

* * *

* *

*

* *

* * *

* * * *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            for(int j=0;j<n+1-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        for(i=0;i<n+1;i++)
        {
            for(int j=0;j<=i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

10.箭形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的箭形图案。


输入描述:

本题多组输入,每行一个整数(2~20)。


输出描述:

针对每行输入,输出用“*”组成的箭形。


示例1

输入:


2

输出:


   *

 **

***

 **

   *

示例2

输入:


3

输出:


     *

   **

 ***

****

 ***

   **

     *


#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n-i;j++)
            {
                printf("  ");
            }
            for(j=0;j<=i;j++)
            {
                printf("*");
            }
            printf("\n");
        }
        for(i=0;i<n+1;i++)
        {
            int j=0;
            for(j=0;j<i;j++)
            {
                printf("  ");
            }
            for(j=0;j<n+1-i;j++)
            {
                printf("*");
            }
            printf("\n");
        }
    }
    return 0;
}


11.反斜线形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。


输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“*”的数量。


输出描述:

针对每行输入,输出用“*”组成的反斜线。


示例1

输入:


4

输出:


*  

*  

 *

  *

示例2

输入:


5

输出:


*    

*  

 *  

  *

   *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n;j++)
            {
                if(i==j)
                {
                    printf("*");
                }
                else
                {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}


12.正斜线形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正斜线形图案。


输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“*”的数量。


输出描述:

针对每行输入,输出用“*”组成的正斜线。


示例1

输入:


4

输出:


  *

 *

*  

*  

示例2

输入:


5

输出:


   *

  *

 *  

*  

*

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
         int i=0;
         for(i=0;i<n;i++)
       {
         int j=0;
         for(j=0;j<n;j++)
         {
             if(i+j==n-1)
             {
                 printf("*");
             }
             else
             {
                 printf(" ");
             }
         }
            printf("\n");
      }
    }
   return 0;
}

13。 X形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。


输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。


输出描述:

针对每行输入,输出用“*”组成的X形图案。


示例1

输入:


5

输出:


*   *

* *

 *  

* *

*   *

示例2

输入:


6

输出:


*    *

*  *

 **  

 **  

*  *

*    *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n;j++)
            {
                if((i+j==n-1)||(i==j))
                {
                    printf("*");
                }
                else
                {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}


14. 空心正方形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”正方形图案。


输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。


输出描述:

针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。


示例1

输入:


4

输出:


* * * *

*     *

*     *

* * * *

示例2

输入:


5

输出:


* * * * *

*       *

*       *

*       *

* * * * *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n;j++)
            {
                if((i==0)||(j==0)||(i==n-1)||(j==n-1))
                {
                    printf("* ");
                }
                else
                {
                    printf("  ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}


15。 空心三角形图案


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”三角形图案。


输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。


输出描述:

针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。


示例1

输入:


4

输出:


*      

* *    

*   *  

* * * *

示例2

输入:


5

输出:


*        

* *      

*   *    

*     *  

* * * * *

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n;j++)
            {
                if((j==0)||(i==n-1)||(i==j))
                {
                    printf("* ");
                }
                else
                {
                    printf("  ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}


16.数字三角形


描述


KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用数字组成的数字三角形图案。


输入描述:

多组输入,一个整数(3~20),表示数字三角形边的长度,即数字的数量,也表示输出行数。


输出描述:

针对每行输入,输出用数字组成的对应长度的数字三角形,每个数字后面有一个空格。


示例1

输入:


4

输出:


1

1 2

1 2 3

1 2 3 4

示例2

输入:


5

输出:


1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

#include <stdio.h>
int main ()
{
    int n=0;
    while(~scanf("%d",&n))
    {
        int i=0;
        for(i=1;i<=n;i++)
        {
            for(int j=1;j<=i;j++)
            {
                printf("%d ",j);
            }
            printf("\n");
        }
    }
    return 0;
}


16题箴淦,来带领大家循环输出各种图形!认真读下去! 仔细分析就对了!


0a2653c851af460fa595bd959398a8f1.png

相关文章
|
Java Spring 容器
深入理解Spring源码之IOC 扩展原理BeanFactoryPostProcessor和事件监听ApplicationListener
深入理解Spring源码之IOC 扩展原理BeanFactoryPostProcessor和事件监听ApplicationListener
160 0
|
算法
算法系列--递归,回溯,剪枝的综合应用(1)(下)
算法系列--递归,回溯,剪枝的综合应用(1)
93 0
Xshell6 提示更新,使用不了! 解决方案
Xshell6 提示更新,使用不了! 解决方案
423 0
Xshell6 提示更新,使用不了! 解决方案
|
存储 SQL 关系型数据库
MySQL慢查询(下):问题解决,干货总结
上篇回顾 继上两篇: MySQL慢查询(上):你知道为啥会慢么? MySQL慢查询(中):正确的处理姿势,你get到了吗?
MySQL慢查询(下):问题解决,干货总结
|
前端开发 IDE Java
前后端,相煎何太急...
前沿:哈喽,我是树酱。今天分享的水文是关于前端与后端之间battle的那些事,自从前后端分离之后,这场分家带来了不少沟通问题,甚至产生battle。我们先回顾下前后端battle的前世今生
377 0
前后端,相煎何太急...
|
数据采集 监控 搜索推荐
从KPI到OKR,高阶产品人如何推动业务高速增长
不管是核心大目标,还是O(Objectives),或者北极星指标,奇妙等式等等,最后都需要核心组织协同方式来推动整个目标聚焦以及过程的落地。
从KPI到OKR,高阶产品人如何推动业务高速增长
C# 移除数组中重复数据
#region 移除数组中重复数据 /// &lt;summary&gt; /// 移除数组中重复数据 /// &lt;/summary&gt; /// &lt;param name="array"&gt;需要除重的数组&lt;/param&gt; /// &lt;returns&gt;不重复数组&lt;/r
2338 0

热门文章

最新文章