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

本文是一系列使用C++编程实现的几何图形绘制练习,包括线段、正方形、直角三角形、翻转直角三角形、带空格直角三角形、金字塔、翻转金字塔、菱形、K形图案、箭形图案、反斜线形图案、正斜线形图案、X形图案、空心正方形和空心三角形。这些图案都是通过巧妙的循环结构和条件判断完成的,展示了基础编程技巧在图形艺术中的应用。
摘要由CSDN通过智能技术生成

相信笔者就是正确的选择!本篇博客笔者将带领大家来循环输出各种图形!

确保各位都能拿到……恭喜你通过本题的提示声音!

 

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题箴淦,来带领大家循环输出各种图形!认真读下去! 仔细分析就对了!

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

念君思宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值