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

采用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 @ 2022-09-26 21:23  Morning枫  阅读(183)  评论(0编辑  收藏  举报