题目描述:
时间:0.2s 空间:64M
【题目描述】
输入一个正整数n,输出n×n的回形方阵。
【输入描述】
一个正整数n(1≤n≤100)。
【输出描述】
共n行,每行包含n个正整数,以空格分隔,且每个正整数占两个字符宽度。
【样例输入1】
4
【样例输出1】
1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1
【样例输入2】
5
【样例输出2】
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
约定:
提示:
我的代码:
#include<bits/stdc++.h>
using namespace std;
int a[105][105];
int n;
int main()
{
cin>>n;
for(int i=1;i<=(n+1)/2;i++)
{
for(int j=i;j<=n-i;j++)
{
a[i][j]=i;
}
for(int j=i;j<=n-i;j++)
{
a[j][n-i+1]=i;
}
for(int j=n-i+1;j>=i+1;j--)
{
a[n-i+1][j]=i;
}
for(int j=n-i+1;j>=i+1;j--)
{
a[j][i]=i;
}
}
if(n%2==1)
{
a[n/2+1][n/2+1]=(n+1)/2;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
printf("%2d",a[i][j]);
}
printf("\n");
}
return 0;
}
为啥错啊