题目描述
先要求你从键盘输入一个整数n(1<=n<=9),打印出指定的数字图形。
输入格式
输入包含多组测试数据。每组输入一个整数n(1<=n<=9)。
输出
对于每组输入,输出指定的数字图形。
注意:每行最后一个数字后没有任何字符。
样例输入
5
样例输出
1
121
12321
1234321
123454321
1234321
12321
121
1
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n,i,j,k;
int a[100][100];
while (cin>>n)
{
if(n==1)
{
cout<<setw(n)<<1<<endl;
}
else
{
a[0][0]=1;
cout<<setw(n)<<a[0][0]<<endl;
for(i=1; i<n; i++)
{
a[i][0]=1;
cout<<setw(n-i)<<a[i][0];
a[i][2*i]=1;
for(j=1; j<=i; j++)
{
a[i][j]=a[i][j-1]+1;
cout<<a[i][j];
}
for(k=i+1; k<2*i; k++)
{
a[i][k]=a[i][k-1]-1;
cout<<a[i][k];
}
cout<<a[i][2*i];
cout<<endl;
}
for(i=n-2; i>=1; i--)
{
a[i][0]=1;
cout<<setw(n-i)<<a[i][0];
a[i][2*i]=1;
for(j=1; j<=i; j++)
{
a[i][j]=a[i][j-1]+1;
cout<<a[i][j];
}
for(k=i+1; k<2*i; k++)
{
a[i][k]=a[i][k-1]-1;
cout<<a[i][k];
}
cout<<a[i][2*i];
cout<<endl;
}
cout<<setw(n)<<1<<endl;
}
}
return 0;
}