题目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 105intmain(){intb[MAXNUM][MAXNUM],a[MAXNUM][MAXNUM];intn,j,i,t1,t2,x,y;inttemp;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]);}}return0;}/**************************************************************Problem: 1193User: kaoyandaren123Language: CResult: AcceptedTime:10 msMemory:920 kb****************************************************************/
本文介绍了一个简单的矩阵转置算法,该算法能够在不使用额外数组的情况下完成矩阵的转置操作。通过对输入的N*N矩阵进行逐元素交换,实现矩阵的原地转置。
1413

被折叠的 条评论
为什么被折叠?



