#include <bits/stdc++.h>
using namespace std;
int arr[12][12];
int main()
{
int n;
cin>>n;
int i=1,j=1;
int k=0;
int loop=0;
int m=0;
if(n%2!=0)
{
m=n/2+1;
}
else
{
m=n/2;
}
while(loop<m)
{
i=loop+1;
j=loop+1;
while(j<n-loop)
{
k++;
arr[i][j]=k;
j++;
}
while(i<n-loop)
{
k++;
arr[i][j]=k;
i++;
}
while(j>1+loop)
{
k++;
arr[i][j]=k;
j--;
}
while(i>1+loop)
{
k++;
arr[i][j]=k;
i--;
}
loop++;
}
for(int i=1;i<=n;i++)
{
cout<<" ";
for(int j=1;j<=n;j++)
{
if(arr[i][j]<10)
{
cout<<" ";
}
cout<<arr[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
想问一下,这个代码当n是奇数的时候为什么不能输出arr[n/2+1][n/2+1]=n*n,反而输出的是0