打印菱形(c语言)

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 
 5 int main()
 6 {
 7     // 定义变量
 8     int line;    // 菱形总行数
 9     int column;    // 菱形总列数
10     int i;        // 当前行
11     int j;        // 当前列
12 
13     printf("请输入菱形的行数(奇数):");
14     scanf("%d", &line);
15 
16     // 判断是否是奇数
17     if (line % 2 == 0)
18     {
19         printf("必须输入奇数\n");
20         exit(1);
21     }
22 
23     column = line; // 总行数和总列数相同
24     
25     for (i = 1; i <= line; i++)    // 遍历所有行
26     {
27         if (i < (line + 1) / 2 + 1)    // 上半部分(包括中间行)
28         {
29             for (j = 1; j <= column; j++)    // 遍历上半部分所有列
30             {
31                     // 第i行最左边的星号                    第i行最右边的星号
32                 if ((column + 1) / 2 - (i - 1) <= j && j <= (column + 1) / 2 + (i - 1))
33                 {
34                     printf("*");
35                 }
36                 else
37                 {
38                     printf(" ");
39                 }
40             }
41         }
42         else
43         {
44             for (j = 1; j <= column; j++)    // 遍历下半部分所有列
45             {
46                 if ((column + 1) / 2 - (line - i) <= j && j <= (column + 1) / 2 + (line - i))
47                 {
48                     printf("*");
49                 }
50                 else
51                 {
52                     printf(" ");
53                 }
54             }
55         }
56         printf("\n");
57     }
58 
59 
60     system("pause");
61     return 0;
62 }

 

posted @ 2018-03-04 17:09  NoThx  阅读(425)  评论(0编辑  收藏  举报