#include <stdio.h>
int main(void)
{
int n; //总行数
int b,c,d; //b当前行,c判断空格数,d要判断输出*的数
printf("请输入行数:");
scanf("%d",&n);
for(b=1;b<=n;b++)
{
for(c=1;c<=n-b;c++)
{
printf(" ");
}
for(d=1;d<=2*b-1;d++)
{
printf("*");
}
printf("\n");
}
return 0;
}
运行结果:
当前行数 | 空格数(总行数 - 当前行数) | *个数(2*行数 - 1) |
1 | 7 | 1 |
2 | 6 | 3 |
3 | 5 | 5 |
4 | 4 | 7 |
5 | 3 | 9 |
6 | 2 | 11 |
7 | 1 | 13 |
8 | 0 | 15 |
由上图:每行的空格数等于总行数减去当前行数,即代码中的 n-b
每行的*个数等于 2 倍行数减去 1,即代码中的 2*b-1