假设有一个3*4的矩阵,用c语言编写程序找出其中值最大的元素,并输出最大值、最大值所在的行号和列号。

如题所述

一楼的程序有点小错误,我修改完了,VC++6.0编译通过,你直接copy就可以了。
#include<stdio.h>
int main()
{
int a[4][5]={{1,2,3,4,5},{6,7,8,9,10},{110,12,13,14,15,},{16,17,18,19,20}};
int i,j;
int maxi=0;
int maxj=0;
int maxs=a[0][0];
for(i=0;i<=3;i++)
{
for(j=0;j<=4;j++)
{
//scanf("%d",&a[i][j]);
if(a[i][j]>maxs){maxs=a[i][j];maxi=i;maxj=j;}
}
}
printf("%d %d %d",maxs,maxi+1,maxj+1);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-18
调试过了没有问题:
#include<stdio.h>
void main()
{int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j,c,d,max;
max=a[0][0];
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
if(max<=a[i][j])
{max=a[i][j];
c=i;
d=j;
}
}
printf("%d最大数\n%d行号\n%d列号",max,c,d);
}本回答被提问者和网友采纳
第2个回答  2009-10-18
#incude<stdio.h>
int main()
{
int a[4][5],i,j,maxs=-2147483648,maxi=0,maxj=0;
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>maxs){maxs=a[i][j];maxi=i;maxj=j;}
}
printf("%d %d %d",maxs,maxi,maxj);
return 0;
}
相似回答