从键盘输入4*5矩阵,求矩阵最大元素及其行列位置,然后完成矩阵的转置并输出 请高手详细解答

2025年03月18日 03:31
有1个网友回答
网友(1):

#include

void main(void)
{
int a[4][5];
int i,j;
int max,row,col;
int temp;

printf("输入4行5列数值,用空格隔开\n");
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);

printf("显示矩阵:\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%4d",a[i][j]);
printf("\n");
}

//统计最大值
max=a[0][0];//默认低一个元素
row=col=0;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
if(max < a[i][j])//挨个比较,如果大于最大值,更改最大值
{
max=a[i][j];
row=i;//记录行与列
col=j;
}
printf("最大值=%d,在第%d行第%d列\n",max,row+1,col+1);

for(i=0;i<4;i++)
for(j=0;j<5;j++)
if(i {
temp=a[i][j];//a(i,j)与a(j,i)互换
a[i][j]=a[j][i];
a[j][i]=temp;
}

printf("显示转置矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}