解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int a[3][4],i,j,m=0,mi=0,mj=0; //m存储最大值,mi存储最小i下标,mj存储最小j下标
for(i=0;i<3;i++){
for(j=0;j<4;j++){
scanf("%d%",&a[i][j]); //一直到这里是正常的数据填充
if(m==0) //这一步是数据全为零的状况,不重新设定mi与mj的话,最后会输出0 0 0
{
mi=1;
mj=1;
}
if(a[i][j]<0) //将负数转为正数,也可用fabs来进行转化,不过可能有人不知道
a[i][j]=a[i][j]*-1;
if(a[i][j]>m) //最后就是循环判定,在这一步,绝对值最大的相同数据项,只会取先出现的那一项的下标,
{ //相当于自动取了最小的下标,即如有多个,输出行号最小的,还有多个的话输出列号最小的
m=a[i][j];
mi=i+1;
mj=j+1;
}
}
}
printf("%d %d %d\n",m,mi,mj);
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:611 |
九宫重排 (C++代码)浏览:2160 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1306 |
数组输出 (C语言代码)错误???浏览:558 |
C语言考试练习题_保留字母 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:520 |
1025题解浏览:732 |
简单的a+b (C语言代码)浏览:818 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:484 |
母牛的故事 (C语言代码)浏览:562 |