3944 - 矩阵转置8-9

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

写一函数,将一个3*3的整型矩阵转置

题目输入

输入一个3*3的矩阵,输入占3行每行有3个用空格分开的数

题目输出

输出转置矩阵

输出占3行,每行有3个数,数之间用一个空格分开,每行的最后一个数后面没有空格

输入/输出样例

输入格式

1 1 1
2 1 1
1 4 1

输出格式

1 2 1
1 1 4
1 1 1

C语言解答

#include<stdio.h>
#define M 3
#define N 3
void f(int a[M][N])
{
	int b[M][N];
	int i,j;
	for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
	{b[j][i]=a[i][j];}
	}
	for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
		{printf("%d",b[i][j]);if(j!=N-1){putchar(32);}}
	 printf("\n");}
}
void main()
{
	int a[M][N];
	int i,j;
	for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
	{scanf("%d",&a[i][j]);}
	}
	f(a);
}

C++解答

#include<stdio.h>
int main()
{
	int a[3][3],b[3][3],i,j;
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
			scanf("%d",&a[i][j]);}
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
			b[j][i]=a[i][j];}
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{printf("%d",b[i][j]);
		if(j<2)
			printf(" ");}

	printf("\n");}
	return 0;
}