#include<stdio.h>
int main(){
int i,j,k,base=1,n;
int a[10][10]={1};
printf("请输入矩阵阶数:");
scanf("%d",&n);
for(k=0;k<=n/2;k++){
for(i=k;i<=n-1-k;i++) //行不变,列++ !!有个‘=’
a[k][i] = base++;
for(j=k+1;j<n-1-k;j++) //列不变,行++
a[j][n-1-k] = base++;
for(i=n-1-k;i>k;i--) //行不变,列--
a[n-1-k][i] = base++;
for(j=n-1-k;j>k;j--) //列不变,行--
a[j][k] = base++;
}
if(n%2==0)
a[(n-1)/2][(n-1)/2] = base;
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%2d ",a[i][j]);
printf("\n");
}
return 0;
}
C++之输出螺旋N阶矩阵
最新推荐文章于 2024-04-12 14:28:21 发布