【问题描述】编程打印用数字构成的菱形图案,菱形上半部分的行数n( 1<n<10 )从键盘输入,总行数为2n-1。图案的样式按下面的样例。
【输入形式】从键盘输入包括中间一行在内的菱形上半部分的行数n ( 1<n<10 )。
【输出形式】输出用数字构成的菱形图案,样式按下面的样例,其中各数字间用1个空格间隔,最中间最长的一行的起始数字1位于第1列。
【样例输入】4
【样例输出】
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
#include<stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
//上半个三角形以及 三角形下面一行
for(i=1;i<n+1;i++)//处理行数
{
//处理空格
for(j=0;j<n-i;j++)
{
printf(" ");
}
//升序打印
for(j=1;j<i+1;j++)
{
printf("%d ",j);
}
//降序打印
for(j=i-1;j>=1;j--)
{
printf("%d ",j);
}
printf("\n");
}
//下半个三角形
for(i=n-1;i>=1;i--)
{
//处理空格
for(j=0;j<n-i;j++)
{
printf(" ");
}
//升序打印
for(j=1;j<i+1;j++)
{
printf("%d ",j);
}
//降序打印
for(j=i-1;j>=1;j--)
{
printf("%d ",j);
}
printf("\n");
}
return 0;
}