题目1193:矩阵转置
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2263
解决:1501
-
题目描述:
-
输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。
-
输入:
-
输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。
接下来的N行每行有N个整数,分别代表矩阵的元素。
-
输出:
-
可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。
-
样例输入:
-
3 1 2 3 4 5 6 7 8 9
-
样例输出:
-
1 4 7 2 5 8 3 6 9
-
解题过程:很简单的数学题
-
源代码:
-
#include <stdio.h>
#define MAXNUM 105
int
main(){
int
b[MAXNUM][MAXNUM],a[MAXNUM][MAXNUM];
int
n,j,i,t1,t2,x,y;
int
temp;
while
(
scanf
(
"%d"
,&n)!=EOF){
for
(i=0;i<n;i++)
for
(j=0;j<n;j++)
scanf
(
"%d"
,&a[i][j]);
for
(i=0;i<n;i++)
for
(j=0;j<n;j++)
b[i][j]=a[j][i];
for
(i=0;i<n;i++){
for
(j=0;j<n-1;j++){
printf
(
"%d "
,b[i][j]);
}
printf
(
"%d\n"
,b[i][n-1]);
}
}
return
0;
}
/**************************************************************
Problem: 1193
User: kaoyandaren123
Language: C
Result: Accepted
Time:10 ms
Memory:920 kb
****************************************************************/