#include<stdio.h>
double jiudui(int fenshu);
int main()
{
int j,n,m,i,max=0,a,b;
int fenshu;
while(scanf("%d %d",&n,&m)!=EOF)
{
max=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&fenshu);
if(jiudui(fenshu)>jiudui(max))
{
max=fenshu;
a=i;
b=j;
}
}
}
printf("%d %d %d\n",a,b,max);
}
return 0;
}
double jiudui(int fenshu)
{
if(fenshu>=0)
return fenshu;
else
return -fenshu;
}
#include<stdio.h>
double jiudui(int fenshu);
int main()
{
int j,n,m,i,max=0,a,b;
int fenshu[10][10];
while(scanf("%d %d",&n,&m)!=EOF)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&fenshu[i][j]);
if(jiudui(fenshu[i][j])>jiudui(max))
{
max=fenshu[i][j];
a=i;
b=j;
}
}
}
printf("%d %d %d\n",a,b,max);
}
return 0;
}
double jiudui(int fenshu)
{
if(fenshu>=0)
return fenshu;
else
return -fenshu;
}
关键在于二维数组求最大值
但是会有一个陷阱!
我们知道,有符号long型能表示的范围是-2147483648 ~ 2147483647。你会发现。负数的范围其实比正数大。
所以,如果你直接用long型,然后用abs来取绝对值,就可能造成数据溢出。你可以自己试一下输出abs(-2147483648)的值。
解决方法是可以用double型来替换它