[问题描述]
小张非常喜欢玩数字矩阵,她编写了一个程序将自然数1,2,……,N*N(N≥2)按顺时针方向依次写在N阶方阵中。如N=5时方阵如下:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
请填好程序中的空。
#include <bits/stdc++.h>
using namespace std;
int main() {
Int maxn=10;
Int i,j,k,m,n ;
Int a[maxn+1][maxn+1]={0} ;
Cout<<”Input n:”;
Cin>>n;
【5】;
k=1;
Do{
i=【6】;
j=k;
do{
a[i][j]=m;
j=j+1;
m=m+1;
}while( 【7】);
do{
a[i][j]=m;
i=i+1;
【8】;
}while( 【9】) ;
do{
a[i][j]=m;
j=j-1;
m=m+1;
}while( 【10】);
do{
a[i][j]=m;
i=i-1;
m=m+1;
}while( 【11】);
k=k+1;
}while (k<=n /2);
if(【12】)a[(n+1) / 2][(n+1)/ 2]=【13】;
for(i=1;i<=n;i++)
{
for(i=1;i<=n;i++) cout<<setw(3)<<a[i,j];
Cout<<endl;
}
【5】:
【6】: