描述
下面程序的功能是:从键盘输入一个n行m列的矩阵,要求输出其转置矩阵(n和m均不超过10)。请将程序补充完整。
#include<stdio.h>
void print(int [][10],int,int);
void convert(int [][10],int[][10],int,int);
int main()
{
int a[10][10],b[10][10],n,m,i,j;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
print(a,n,m); //输出转置前的矩阵
convert(a,b,n,m); //矩阵装置
print(b,m,n); //输出转置后的矩阵
return 0;
}
//你提交的代码将放在这里
提交答案时,只需要提交自己补充的代码。
输入
第一行包含2个正整数n和m(均不超过10)。
接下来的n行,每行m个整数,表示矩阵数据。
输出
首先输出转置前矩阵的数据,共n行,每行m个数据;
接着输出转置后矩阵的数据,共m行,每行n个数据。
整数之间用1个空格隔开,行首行末均无空格。
输入样例 1
3 2 1 2 3 4 5 6
输出样例 1
1 2 3 4 5 6 1 3 5 2 4 6
code:
void print(int a[][10],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(j==m-1)
printf("%d",a[i][j]);
else
printf("%d ",a[i][j]);
}
printf("\n");
}
}
void convert(int a[][10],int b[][10],int n,int m)
{
int i,j;
for(j=0;j<m;j++)
for(i=0;i<n;i++)
b[j][i]=a[i][j];
}