数字金字塔:
输入样例1:
5
输出样例1:
1
121
12321
1234321
123454321
输入样例2:
7
结尾无空行
输出样例2:
1
121
12321
1234321
123454321
12345654321
1234567654321
输入一个正整数n,输出n行的数字金字塔。输入保证 1 <= n <= 9。
#include<stdio.h>
int main()
{
int a,b,c,n;
scanf("%d",&n);
for(a=1;a<n+1;a++)
{
for(b=0;b<n-a;b++) printf(" ");
for(c=1;c<=a;c++) printf("%d",c);
for(c=a;c>1;c--) printf("%d",c-1);
printf("\n");
}
return 0;
}
先来个大循环从第一行开始输出一直到第n行;
要先输出空格·因为第一行第一个是先输出空格;又因为最后一行是没有空格的所以b=0;
又因空格是递减的,到最后一行没有空格,所以第a行的空格数量是n-a-1;用<n-a代替;
c是输出数字从一开始输出一直输出到a;这时候会发现还有后一部分没有输出;
但根据规律发现它是由a开始递减,直到减为一;所以代码如图所示;最后别忘了加个输出换行符。