按照你的要求编写的用二维数组输出回形数组的C语言程序如下
#include <stdio.h>
int main()
{
int N,i,j,k,n,m,count=1;
scanf("%d",&N);
int a[N][N];
if(N%2==0){
n=N/2;
}else{
n=N/2+1;
}
for(i=0;i<n;i++){
for(j=i;j<N-i;j++){
a[i][j]=count++;
}
k=N-i-1;
for(j=i+1;j<N-i;j++){
a[j][k]=count++;
}
for(j=N-i-2;j>=i;j--){
a[k][j]=count++;
}
for(j=N-i-2;j>=i+1;j--){
a[j][i]=count++;
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%-3d",a[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
运行结果