循环进阶——空心菱形的打印

采用for循环打印*,结合if输入空格

代码如下:

 

复制代码
 1 #include <stdio.h>
 2 
 3 void main(){
 4     int a;  //行数
 5     int i;  //项数变量
 6     int j;  //*的数目
 7     int k;  //空格
 8     printf("请输入空心菱形的层数:");
 9     scanf("%d", &a);
10     if(a%2==0){
11         printf("错误,不能为奇数!");
12     }else{
13         for(i = 1; i<=a/2+1; i++){
14             for(k=1; k<=((a+1)/2-i); k++){
15                 printf(" ");
16             }
17 
18             for(j=1; j<=(i*2-1); j++){
19                 if(j==1 | j==(i*2-1)){
20                     printf("*");
21                     j++;
22                 }
23                 printf(" ");
24             }
25             printf("\n");
26         }
27 
28         for(i = 1; i<=a/2; i++){
29             for(k=1; k<=i; k++){
30                     printf(" ");
31             }
32 
33             for(j=1; j<=(a-2*i); j++){
34                 if(j==1 | j==(a-2*i)){
35                     printf("*");
36                     j++;
37                 }
38                 printf(" ");
39             }
40             printf("\n");
41         }
42     }
43 }
复制代码

从此篇往后开始,稍微难的将会附上原代码。

运行结果如下:

 

posted @   Morning枫  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示