1568 - 矩阵转置0


输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。

<br />

题目输入


输入的第一行包括一个整数N,(1&lt;=N&lt;=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;
}

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题