Problem Description
输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。
Input
输入只有一个正整数n。
Output
打印金字塔图形,其中每个数字之间有一个空格。
Sample Input
3
Sample Output
1
1 2 1
1 2 3 2 1
代码啦
#include<stdio.h>
int main()
{
int i,j,k,n,m,q;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
printf(" "); //打印一行前面的空格
}
for(k=1;k<=i;k++)
{if(k==1) printf("%d",k);
else printf(" %d",k); 输出一行中的数字(顺序)
}
for(m=i-1;m>0;m--){
printf(" %d",m); 输出一行中的数字(逆序)
}
if(i!=n) //最后一行输出一个回车;
printf("\n");
}return 0;
}
将每行分成三部分 空格 顺序数字 和 逆序数字 在一个大循环下三个部分依次输出
一行结束,回车进入下一行,三个部分在依次输出。直到大循环结束。