3080 - 【设计型】第9章: 指针9.7 矩阵置换
时间限制 : 1 秒
内存限制 : 128 MB
小明想编写一个程序,将一个3*3的矩阵转置(转置就是将第n行变成第n列,将第n列变成第n行),你能帮助他完成这个任务么?
题目输入
输入三行数据,每个数据之间有空格隔开。
题目输出
输出三行,每行的数据之间有空格隔开
输入/输出样例
输入格式
1 2 3 4 5 6 7 8 9
输出格式
1 4 7 2 5 8 3 6 9
C语言解答
#include<stdio.h> void Transpose(int (*matrix)[3]) { int temp; int i, j; for(i=1;i<3;i++) { for(j=0;j<i;j++) { temp = *(*(matrix+j)+i); *(*(matrix+j)+i) = *(*(matrix+i)+j); *(*(matrix+i)+j) = temp; } } } int main() { int a[3][3]; for(int i = 0;i<3;i++) { for(int j=0;j<3;j++) { scanf("%d",&a[i][j]); } } Transpose(a); for(int i = 0;i<3;i++) { for(int j=0;j<3;j++) { printf("%d",a[i][j]); if(j!=2) printf(" "); } if(i!=2) printf("\n"); } }