2505 - 【数组】矩阵转置(例题)

    例5.8      输入3*3的矩阵,将其转置后输出。矩阵转置是矩阵的行列交换,如:              

        2 1 3                    2 3 1

        3 3 1    转置为:        1 3 2

        1 2 1                    3 1 1


题目输入

    3*3的矩阵:共三行,每行3个整数。

题目输出

    三行,每行三个整数,用空格分隔,表示转置后的矩阵。

    (注意:需要修改教材程序中的输出格式语句)

输入/输出样例

题目输入

2 1 3
3 3 1
1 2 1

题目输出

2 3 1
1 3 2
3 1 1

C语言解答

#include<stdio.h>
int main()
{  int i,j,t,count;
	int a[3][3];
	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=i+1;j<3;j++)
	 {
	   t=a[i][j]; 
	  a[i][j]=a[j][i];
	  a[j][i]=t;}
	for(i=0;i<3;i++)
{	count=1;
 for(j=0;j<3;j++)
	
		if(count==1) {
		printf("%d",a[i][j]);count++;} else {
		printf(" %d",a[i][j]);count++;}
	printf("\n");
	
	}
	
	return 0;
	
	
	
	
	
	
	
	
}

C++解答

#include<cstdio>
#include<iostream>
#include<cstdio>
using namespace std;
int a[4][4];
int main()
{
    for (int i=1; i<=3; ++i)
    {
      for (int j=1; j<=3; ++j)
        cin>>a[i][j];
    }

    for (int i=1; i<4; ++i)
    {
        for (int j=1; j<4; ++j) 
            if (j==1) cout<<a[j][i];
				else cout<<" "<<a[j][i];
        cout<<endl;
    }
    return 0;
}

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