打印矩阵问题
打印矩阵:25 24 23 22 21
10 9 8 7 20
11 2 1 6 19
12 3 4 5 18
13 14 15 16 17
#include<stdio.h> #define N 20 int main(void) { int i,j,k,m,n,a[N][N]; printf("输入矩阵的阶数:"); scanf("%d",&n); k=n*n; if(n%2==0) m=n/2; else m=n/2+1; for(i=0;i<m;i++) { for(j=i;j<n-i;j++) a[i][j]=k--; for(j=i+1;j<n-i;j++) a[j][n-i-1]=k--; for(j=n-i-2;j>=i;j--) a[n-i-1][j]=k--; for(j=n-i-2;j>=i+1;j--) a[j][i]=k--; } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%5d",a[i][j]); printf("\n"); } }