最近在学习基础知识,碰到行列转换,整理如下: #include <stdio.h> int main(void) { int i,j,t,N; //设定矩阵规模 printf("Please input a integer(1-18): "); scanf("%d",&N); int a[N][N]; //打印原始矩阵 printf("Original Cube: /n"); for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%4d",a[i][j]=i*N+j+1); printf("/n"); } t=0; //行列转换 printf("Transfering..... /n"); printf("Press Enter to continue."); getchar(); getchar(); for(i=0;i<N;i++) { for(j=0;j<i;j++) {t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;} } //打印新矩阵 printf("New Cube: /n"); for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%4d",a[i][j]); printf("/n"); } return 0; }