题目描述
输入一个整数n,(1<=n<=20),输出一个空心菱形,其中每个边由n个'*'组成。
输入
输入包含一个整数,n(1<=n<=20)
输出
输出一个空心菱形,每个边由n个'*'组成
样例输入 Copy
5
样例输出 Copy
*
* *
* *
* *
* *
* *
* *
* *
*
在做这道空心菱形之前,首先要考虑第一行和最后一行的'*'输出,和其他行输出不同
因此需要单独拿出来进行考虑
1 #include<stdio.h> 2 int main() 3 { 4 int i,j,n,k; 5 scanf("%d",&n); 6 for(i=1;i<=n;i++) 7 { 8 k=n-i; 9 while(k--) 10 printf(" "); 11 if(i==1) 12 printf("*"); 13 else 14 { 15 printf("*"); 16 for(j=1;j<=2*i-3;j++) 17 printf(" "); 18 printf("*"); 19 } 20 printf("\n"); 21 } 22 for(i=n-1;i>=1;i--) 23 { 24 k=n-i; 25 while(k--) 26 printf(" "); 27 if(i==1) 28 printf("*"); 29 else 30 { 31 printf("*"); 32 for(j=1;j<=2*i-3;j++) 33 printf(" "); 34 printf("*"); 35 } 36 printf("\n"); 37 } 38 return 0; 39 }
浙公网安备 33010602011771号