为什么输出时会输出很多0(蒟蒻发问)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[40][40]={0};
cin>>n;
a[1][n/2] = 1;
int row=1,col=n/2;
for(int k=2;k<=n*n;k++)
{
if(row==1&&col!=n)
{
a[n][col+1]=k;
row=n,col++;
}
else if(row!=1&&col==n)
{
a[row+1][1]=k;
row++,col=1;
}
else if(row==1&&col==n)
{
a[2][n]=k;
row=2,col=n;
}
else
{
if(a[row+1][col+1]==0)
{
a[row+1][col+1]=k;
row++,col++;
}
else
{
a[row-1][col-1]=k;
row--,col--;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}