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

相关文章
|
2天前
|
Java 程序员
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
31 0
|
7月前
|
Python
python之使用while循环输出如下星图形
python之使用while循环输出如下星图形
140 1
python之使用while循环输出如下星图形
|
2天前
火山中文编程 -- 判断循环
火山中文编程 -- 判断循环
16 1
|
2天前
画图,综合例子
画图,综合例子。
29 6
|
2天前
|
算法 Java 定位技术
嵌套for循环的基础直角三角形——四个方向打印
嵌套for循环的基础直角三角形——四个方向打印
44 0
|
2天前
|
Python
Python 教程之控制流(6)打印金字塔图案的程序
Python 教程之控制流(6)打印金字塔图案的程序
39 0
|
12月前
|
算法 C语言
C语言练级之路num4(有关各种菱形的打印)(用的都是基础的算法),会了这些图形的打印,从此再无你不会用的循环,给你理解的透透的
1.第一题(边框菱形的打印) 2.第二题边框 菱形的进阶 3.第三题(数字菱形的打印) 4.第四题:(空心菱形) 5.第五题(实心菱形): 6.第六题:(外带一个杨氏三角的再一次打印)
|
自然语言处理 小程序 算法
Python程序设计的基本方法与带你入门Python小程序:斐波那契数列的计算、圆面积的计算、程序运行计时、绘制五角红星、绘制七彩圆圈
Python程序设计的基本方法与带你入门Python小程序:斐波那契数列的计算、圆面积的计算、程序运行计时、绘制五角红星、绘制七彩圆圈
Python程序设计的基本方法与带你入门Python小程序:斐波那契数列的计算、圆面积的计算、程序运行计时、绘制五角红星、绘制七彩圆圈
|
Shell
shell编程之双重循环(教你花式打印各种图形)(上)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
585 0
|
Shell
shell编程之双重循环(教你花式打印各种图形)(下)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
240 0