M - 海选女主角
写这道题一开始还是常规思路,写两个循环给二维数组赋值。但是在绝对值比较的地方又又又被难住了。
当时想的是比较a[i][j]和a[0][0]的绝对值大小,然后把a[i][j]的值赋给a[0][0],但是对于这样好像就打乱二维数组的内部顺序,就不知道要怎么输出行和列了,所以最后还是去bd了。
数组中绝对值比较并且记录最大的那个数的行和列
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
if(abs(a[i][j])>abs(b))
{
b=a[i][j]; //把最大值储存在b中
c=i; //最大值的行
d=j; //最大值的列
}
}
}
cout<<c+1<<" "<<d+1<<" "<<b<<endl;
//因为数组元素都是从0开始,输出行列的时候要各加1
不用管那个分数绝对值一样是因为,循环都是从小到大的,if中的语句是>,当=的时候,不执行if语句,所以此时输出的i与j还是最小的那两个。