PTA 7-453 5*5矩阵转置
分数 10
作者 jibaoyu
单位 江西理工大学
编写程序:对一个5X5的二维整型数组转置,即行列互换。
要求从键盘输入数组的值,输出转置前及转置后的结果。
如:
转置.png
输入格式:
输入数组前有如图示的提示;
输出格式:
输出转置前及转置后的结果,输出前有提示:“output array:”,5行5列的形式,每个元素5个字符位置。如图所示。
输入样例:
在这里给出一组输入。例如:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
输出样例:
在这里给出相应的输出。例如:
enter array:
output array:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
transpose array:
output array:
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int arr[5][5];
printf("enter array:\noutput array:\n"); //输出提示
for(int i = 0; i < 5; i++){ //遍历数组
for(int j = 0; j < 5; j++){
scanf("%d", &arr[i][j]);
printf("%5d", arr[i][j]); //输出原数组
}
printf("\n");
}
printf("transpose array:\noutput array:\n"); //输出提示
for(int i = 0; i < 5; i++){ //输出
for(int j = 0; j < 5; j++){
printf("%5d", arr[j][i]);
}
if(i != 4) //换行处理
printf("\n");
}
return 0;
}
解题思路:
储存数据,按照原数组行列输出就是原方阵,然后按照原数组列行输出就是转置后的方阵
归属知识点:
数组
循环结构