2016: C语言实验——打印金字塔
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 196 Solved: 82
[Submit][Status][Web Board]
Description
输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。
Input
输入只有一个正整数n。
Output
打印金字塔图形,其中每个数字之间有一个空格。
Sample Input
3
Sample Output
1
1 2 1
1 2 3 2 1
HINT
#include<cstdio>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j;
for(int i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
int cnt=0;
for(j=n-i+1;j<=n+(i-1);j++)
{
if(j<=n)
printf("%d ",++cnt);//对称轴及其左
else if(j>n&&j!=n+(i-1))
printf("%d ",--cnt);//对称轴右
else if(j==n+(i-1))
printf("%d",1);//最后一个特殊位置
}
printf("\n");
}
}
return 0;
}