https://vjudge.net/problem/HDU-2022
row,col双重循环:
#include<stdio.h>
#include<math.h>
int main()
{
int row,col,i,j,num;
while(scanf("%d %d",&row,&col)!=EOF)
{
int mrow,mcol,max;
for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
scanf("%d",&num);
//一个数据
if(i==1&&j==1)
{
max=num;
mrow=i;
mcol=j;
}
if(abs(num)>abs(max))
{
max=num;
mrow=i;
mcol=j;
}
}
}
printf("%d %d %d\n",mrow,mcol,max);
}
return 0;
}
二维数组:
注:数组从0开始,最后输出行列结果要分别加1。
#include<stdio.h>
#include<math.h>
int main()
{
int row,col,i,j,num,mrow,mcol,max,a[100][100];
while(scanf("%d %d",&row,&col)!=EOF)
{
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",&a[i][j]);
//一个数据
if(i==0&&j==0)
{
max=a[0][0];
i=j=0;
}
if(abs(a[i][j])>abs(max))
{
max=a[i][j];
mrow=i;
mcol=j;
}
}
}
printf("%d %d %d\n",mrow+1,mcol+1,a[mrow][mcol]);
}
return 0;
}
或
#include<stdio.h>
#include<math.h>
int main()
{
int row,col,i,j,num,mrow,mcol,max,a[100][100];
while(scanf("%d %d",&row,&col)!=EOF)
{
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%d",&a[i][j]);
}
}
//一个数据
max=a[0][0];
i=j=0;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
if(abs(a[i][j])>abs(max))
{
max=a[i][j];
mrow=i;
mcol=j;
}
}
}
printf("%d %d %d\n",mrow+1,mcol+1,a[mrow][mcol]);
}
return 0;
}