说明一下这里用的是 g++编译器,如果用 vs 要 做适当的修改。
#include <stdio.h>
//#define N 9 //阶数#include <iostream>
using namespace std;
int main(void)
{
while(1){
int N;//阶数
cin>>N;
int a[N][N];
int i,j,m,t;
t=1;
for(m=1;m<=(N+1)/2;m++)
{
i=m-1;
for(j=m-1;j<(N-m);j++)
a[i][j]=t;
for(i=m-1;i<(N-m);i++)
a[i][j]=t;
for(j=N-m;j>m-1;j--)
a[i][j]=t;
for(i=N-m;i>m-1;i--)
a[i][j]=t;
t++;
}
if(N%2==1) a[N/2][N/2]=t;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
}