在c语言中用“ * ”号打印常见图形(三角形,菱形,正方形,长方形,圆形)

这篇博客介绍了C语言初学者如何使用循环打印不同类型的几何图形,包括普通三角形、倒三角形、等腰三角形、倒等腰三角形、菱形、正方形和长方形。通过修改循环条件和嵌套结构,展示了C语言基础语法在图形输出上的应用。
摘要由CSDN通过智能技术生成

初学c语言,用*号打印各种图形是避不开的一道坎,因本人也是初学者,以下是相关的代码的练习,如有错误之处,还望广大网友指正。

1.打印三角形

1.1打印普通的三角

代码段如下,使用了两个for循环

  1 #include<stdio.h>
  2 
  3 
  4 
  5 int main()//程序的入口;
  6 {                                                                                  
  7     int i = 0;
  8     int j = 0;
  9     //i和j为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < 5 ; i++)//三角形的行数;
 11     {
 12         for (j = 0 ; j <= i ; j++)//三角形每行*的个数;
 13         {
 14             printf("*");//每循环一次就打印一个*;
 15         }
 16         printf("\n");//每行打印完自动换行;
 17 
 18     }
 19     return 0;//退出程序
 20 }

输出结果如下 

*
**
***
****
*****

1.2倒三角

将上方代码进行微微的改动

  1 #include<stdio.h>
  2 #define N 5//定义一个三角形的行数;
  3 
  4 
  5 int main()//程序的入口;
  6 {
  7     int i = 0;
  8     int j = 0;
  9     //i和j为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < N ; i++)//三角形的行数;
 11     {
 12         for (j = 0 ; j < N-i ; j++)//三角形每行*的个数;                           
 13         {
 14             printf("*");//每循环一次就打印一个*;
 15 
 16         }
 17         printf("\n");//每行打印完自动换行;
 18 
 19     }
 20     return 0;//退出程序
 21 }

输出结果如下

*****
****
***
**
*

1.3等腰三角

等腰三角就是在*号前先打印倒三角的空格,代码如下:

  1 #include<stdio.h>
  2 #define N 5//定义一个三角形的行数;
  3 
  4 
  5 int main()//程序的入口; 
  6 { 
  7     int i = 0; 
  8     int j = 0; 
  9     //i和j为for循环中的变量,提前进行初始化; 
 10     for (i = 0 ; i < N ; i++)//三角形的行数; 
 11     { 
 12         for (j = 0 ; j < N-i ; j++) 
 13         {
 14             printf(" ");//每循环一次就打印一个空格,打印个数为N-i;
 15         }
 16         for (j = 0 ; j < 2*i+1 ; j++)
 17         {
 18             printf("*");//每循环一次就打印一个*,打印个数为2*i+1;
 19         }
 20         printf("\n");//每行打印完自动换行;
 21     }   
 22     return 0;//退出程序
 23 }   
 

 打印结果如下

     *
    ***
   *****
  *******
 *********

1.4倒等腰三角

  1 #include<stdio.h>
  2 #define N 5 //定义一个三角形的行数;
  3 //打印倒正三角;
  4 
  5 int main()//程序的入口;
  6 {
  7     int i = 0;
  8     int j = 0;
  9     //i和j为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < N ; i++)//三角形的行数;
 11     {
 12         for (j = 0 ; j < i ; j++)//每行空格的个数;
 13         {
 14             printf(" ");//每循环一次就打印一个空格;
 15         }
 16         for (j = 0 ; j < 2*N-2*i-1 ; j++)//每行*的个个数;                  
 17         {
 18             printf("*");//每循环一次就打印一个*;
 19         }
 20         printf("\n");//每行打印完自动换行;
 21     }
 22     return 0;//退出程序
 23 }

运行结果如下

 

*********
 *******
  *****
   ***
    *

2.打印菱形

 菱形的打印思路为一个正三角形的再加上倒三角形,具体代码如下

  1 #include<stdio.h>
  2 #define N 5//定义一个三角形的行数;
  3 //打印菱形;
  4 
  5 int main()//程序的入口;
  6 {
  7     int i = 0;
  8     int j = 0;
  9     //i和j为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < N-1 ; i++)//三角形的行数;                             
 11     {
 12         for (j = 0 ; j < N-i-1 ; j++)
 13         {
 14             printf(" ");//每循环一次就打印一个空格,打印个数为N-i;
 15         }
 16         for (j = 0 ; j < 2*i+1 ; j++)
 17         {
 18             printf("*");//每循环一次就打印一个*,打印个数为2*i+1;
 19         }
 20         printf("\n");//每行打印完自动换行;
 21     }
 22     
 23     for (i = 0 ; i < N ; i++)//三角形的行数;
 24     {
 25         for (j = 0 ; j < i ; j++)//每行空格的个数;
 26         {   
 27             printf(" ");//每循环一次就打印一个空格;
 28         }
 29         for (j = 0 ; j < 2*N-2*i-1 ; j++)//每行*的个个数;
 30         {   
 31             printf("*");//每循环一次就打印一个*;
 32         }
 33         printf("\n");//每行打印完自动换行;
 34     }
 35     return 0;//退出程序
 36 }
                                                                 

打印结果如下

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

3.打印正方形

正方形比较好打印,行数等于列数即可

 

  1 #include<stdio.h>
  2 #define N 5//定义正方形的边长;
  3 
  4 
  5 int main()//程序的入口;
  6 {   
  7     int i = 0;
  8     int j = 0;
  9     //i为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < N ; i++)
 11     {
 12         for (j = 0 ; j < N ; j++)
 13         {
 14             printf("*");
 15         }   
 16         printf("\n");//每行打印完自动换行;
 17     }   
 18     return 0;//退出程序
 19 }   
 20                                                                             

打印结果如下

*****
*****
*****
*****
*****

 4.打印长方形

  1 #include<stdio.h>
  2 #define N 5//定义长方形的长;
  3 #define M 20//定义长方形的宽;
  4 
  5 int main()//程序的入口;
  6 {
  7     int i = 0;
  8     int j = 0;
  9     //i为for循环中的变量,提前进行初始化;
 10     for (i = 0 ; i < N ; i++)
 11     {
 12         for (j = 0 ; j < M ; j++)
 13         {
 14             printf("*");
 15         }
 16         printf("\n");//每行打印完自动换行;
 17     }   
 18     return 0;//退出程序
 19 }   
 20 
                                 

打印结果如下

********************
********************
********************
********************
********************

  • 30
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值