输出如下图案
- *
- ***
- *****
- *******
- *****
- ***
- *
相关习题:
《C程序设计》(第三版)6.14
《C程序设计教程》 5.14
Solution by Mutoo:
仔细观察后可以考虑如下三个变量
i | j = |i| | k = line-2j |
-3 | 3 | 7-2×3=1 |
-2 | 2 | 7-2×2=3 |
-1 | 1 | 7-2×1=5 |
0 | 0 | 7-2×0=7 |
1 | 1 | 7-2×1=5 |
2 | 2 | 7-2×2=3 |
3 | 3 | 7-2×3=1 |
- #include<stdio.h>
- void main()
- {
- const line=7; // 定义行数
- int i,j,k;
- for(i=-line/2;i<=line/2;i++) // 注意这里的 7/2=3
- {
- for(j=0;j<abs(i);j++) printf(" "); // 处理空格
- for(k=0;k<(line-2*j);k++) printf("*"); // 处理*号
- printf("/n");
- }
- }