编写两个函数fun和display,功能分别是完成矩阵的转置和输出矩阵;在主函数中完成从键盘上输入矩阵行数和列数,用随机函数产生矩阵的元素(取值范围为[0~100)的整数),存放于二维数组a中并调用dispaly输出a,接着调用fun函数将a矩阵转置,转置结果存放在矩阵b中,并在主函数中调用display输出转置后的矩阵b。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void display(int x,int y ,int A[x][y]){
int i,j;
for(i = 0;i < x;i ++){
for(j = 0;j < y;j ++){
printf(" %d ",A[i][j]);
}
printf("\n");
}
}
void fun(int x,int y,int B[x][y],int C[y][x]){
int i,j;
for(i = 0;i < x;i ++){
for(j = 0;j < y;j ++){
C[j][i] = B[i][j];
}
}
}
int main(){
int i,j,hang,lie;
printf("请输入矩阵的行数和列数(先输入行数,在输入列数):\n");
scanf("%d%d",&hang,&lie);
int a[hang][lie],b[hang][lie];
srand((int)time(NULL));
for(i = 0;i < hang;i ++){
for(j = 0;j < lie;j ++){
a[i][j] = rand()%100;
}
}
printf("随机数生成的m*n矩阵:\n");
display(hang,lie,a);
printf("\n");
fun(hang,lie,a,b);
printf("调用函数转置后的n*m矩阵:\n");
display(lie,hang,b);
return 0;
}
任意矩阵都可以