1. 程式人生 > >編寫程式,列印菱形星號組合

編寫程式,列印菱形星號組合

  1 # include<stdio.h>
  2
  3 void diamond(int n)
  4 {
  5     int i, j, k, m=2*n, p=1;
  6
  7     for(i=0;i<n;i++)
  8     {
  9         J1:
 10         for(j=0;j<m;j++)
 11         {
 12             printf(" ");
 13             if(0==i&&(m-1)==j)
 14             {
 15                 printf(" *\n");
 16                 j=0;
 17                 i=1;
 18                 goto J1;
 19             }
 20         }
 21         printf("*");
 22         m--;
 23
 24         for(k=0;k<p;k++)
 25         {
 26             printf(" ");
 27         }
 28         printf("*\n");
 29         p += 2;

 30     }
 31
 32     for(i=0;i<n;i++)
 33     {
 34         for(j=0;j<m;j++)
 35         {
 36             printf(" ");
 37         }
 38         printf("*");
 39         m++;
 40         for(k=0;k<p;k++)
 41         {
 42             printf(" ");
 43         }
 44         printf("*\n");
 45         p -= 2;
 46     }
 47         for(j=0;j<m;j++)
 48         {
 49             printf(" ");
 50         }
 51         printf("*\n");
 52 }
 53
 54 int main()
 55 {
 56      int size;
 57
 58     printf("Please input size:\n");
 59     scanf("%d",&size);
 60     if(size<2)
 61     {
 62     printf("No meaning!");
 63     }
 64
 65     diamond(size);
 66
 67     return 0;
 68 }