题目描述
输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。
输入
输入只有一个正整数n。
输出
打印金字塔图形,其中每个数字之间有一个空格。
样例输入 Copy
3
样例输出 Copy
1
1 2 1
1 2 3 2 1
源代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
//保证金字塔的行数为n行
{
for(k=0;k<n-i;k++)
//保证金字塔每行前的空格数是递减的
{
printf(" ");
}
for(j=1;j<=i;j++)
{
printf("%d ",j);
}
for(j=i-1;j>1;j--)
{
printf("%d ",j);
}
//保证金字塔的数是先增后减
if(i!=1)
printf("%d ",j--);//使金字塔每一行最后一个数为1
printf("\n");//换行
}
return 0;
}