C语言编写打印菱形

描述略,直接上代码.

CODE:

 1 #include "stdio.h"
 2 
 3 /* 输出实心菱形 */
 4 int output_1(int a)
 5 {
 6     int i, j, n, m;
 7     printf("以下是实心的图形\n");
 8     m=a/2+1;
 9     for(j=1;j<=a;j++)
10     {
11         n=(m-j);
12         if(n<0)
13             n=-n;
14         for(i=1;i<=a;i++)
15         {
16             if(i<=n||i>=1+a-n)
17                 putchar(' ');
18             else
19                 putchar('*');
20         }
21         putchar('\n');
22     }
23     return 1;
24 }
25 
26 /* 输出空心菱形 */
27 int output_2(int a)
28 {
29     int i, j, m, n;
30     m=a/2+1;
31     printf("以下是空心的图形\n");
32     for(j=1;j<=a;j++)
33     {
34         n=(m-j);
35         if(n<0)
36             n=-n;
37         for(i=1;i<=a;i++)
38         {
39             if(i==n+1||i==a-n)
40                 putchar('*');
41             else
42                 putchar(' ');
43         }
44         putchar('\n');
45     }
46     return 1;
47 }
48 
49 int main()
50 {
51     int n, choose;
52     while(1)
53     {
54         printf("请输入一个奇数. n=");
55         scanf("%d",&n);
56         if(n%2)
57         {
58             printf("请选择打印菱形类型:1.实心; 2.空心.\nChoose=");
59             scanf("%d",&choose);
60             if(choose==1) output_1(n);
61             else if(choose==2) output_2(n);
62             else printf("Error.\n");
63         }
64     }
65     
66     return 0;
67 }

 

你可能感兴趣的:(C语言)