项目场景:
有一个3×4的矩阵,要求编程序求出其中值最大值的元素以及其所在的行号和列号。
问题描述
#include<stdio.h>
int main()
{
int a[][4]={{1,2,9,4},{5,11,7,5},{9,15,9,12}},max,i,j;
max=a[0][0];
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
}
}
printf("max=%d,row=%d,colum=%d",max,i,j);
return 0;
}
这样输出的只是i,j的值并非max的行列号
原因分析:
没有把行列号在对比中取出
解决方案:
设置两个变量存放行列号
#include<stdio.h>
int main()
{
int a[][4]={{1,2,9,4},{5,11,7,5},{9,15,9,12}},max,i,j,row,colum;
max=a[0][0];
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
}
}
printf("max=%d,row=%d,colum=%d",max,row,colum);
return 0;
}