害,怎么有种写c语言作业的感觉
大一学的c语言很多都已经忘了
/矩阵的转置,乘法等基本操作。(可以用普通矩阵,也可以用三元组)
#include <stdio.h>
//转置
void f1(){
int row,col;
printf("请输入矩阵行数和列数,用逗号隔开\n");
scanf("%d,%d",&row,&col);
int a[row][col];int b[col][row];
printf("请输入矩阵\n");
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
getchar();
}
printf("以下是转置后的矩阵\n");
for(int i=0;i<col;i++){
for(int j=0;j<row;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
//乘法
void f2(){
int row,col;
printf("请输入矩阵一行数和列数,用逗号隔开\n");
scanf("%d,%d",&row,&col);
int a[row][col];int b[col][row];
printf("请输入矩阵一\n");
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
scanf("%d",&a[i][j]);
}
getchar();
}
printf("请输入矩阵二\n");
for(int i=0;i<col;i++){
for(int j=0;j<row;j++){
scanf("%d",&b[i][j]);
}
getchar();
}
int c[row][row];
int sum;
for(int k=0;k<row;k++){
for(int i=0;i<row;i++){
sum=0;
for(int j=0;j<col;j++){
sum+=a[k][j]*b[j][i];
}
c[k][i]=sum;
}
}
for(int d=0;d<row;d++){
for(int e=0;e<row;e++){
printf("%d ",c[d][e]);
}
printf("\n");
}
}
int main(){
printf("请选择矩阵转置或矩阵乘法,转置输入1,乘法输入2\n");
int choose;
scanf("%d",&choose);
if(choose==1)
f1();
else if(choose==2)
f2();
else
printf("拜拜");
return 0;
}