1568 - 矩阵转置0
输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。
<br />
题目输入
输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。<br />
接下来的N行每行有N个整数,分别代表矩阵的元素。
<br />
题目输出
可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。
<br />
输入/输出样例
题目输入
1 68 3 1 70 25 79 59 63 65 6 46
题目输出
68 1 79 65 70 59 6 25 63 46
C语言解答
int main(int argc, char* argv[]) { int n,a[101][101],i,j; while(~scanf("%d",&n)) { 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-1;j++) printf("%d ",a[j][i]); printf("%d\n",a[j][i]); } } return 0; }
C++解答
#include <stdio.h> int main() { int n,a[101][101],i,j; scanf("%d",&n); while(n!=0) { 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-1;j++) printf("%d ",a[j][i]); printf("%d\n",a[n-1][i]); } n=0; scanf("%d",&n); } return 0; }