7-268 方阵转置
分数 10
作者 usx程序设计类课程组
单位 绍兴文理学院
输入一个n×n的方阵,把其转置并输出。
输入格式:
测试数据有多组,处理到文件尾。对于每组测试,第一行输入一个整数n(n≤10),接下来的n行每行输入n个不超过2位的整数。
输出格式:
对于每组测试,输出这n×n矩阵的转置方阵,每行的每两个数据之间留一个空格。
输入样例:
5
5 51 96 80 45
51 57 77 45 47
72 45 58 83 21
0 28 42 72 42
91 61 7 73 66
输出样例:
5 51 72 0 91
51 57 45 28 61
96 77 58 42 7
80 45 83 72 73
45 47 21 42 66
#include <stdio.h>
int main(){
int n;
int temp; //临时变量
while(~scanf("%d", &n)){
int arr[n][n];
//遍历数组
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
scanf("%d", &arr[i][j]);
}
}
//转置
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(i <= j){
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
printf("%d", arr[i][j]); //输出
if(j != n-1)
printf(" ");
}
printf("\n"); //换啊很难过
}
}
return 0;
}
解题思路:
略
归属知识点:
循环结构