题目描述
输入一个整数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 }