【蓝桥杯】ADV-73 数组输出

正文索引 [隐藏]

题目描述:

输入一个3行4列的数组,找出该数组中绝对值最大的元素、输出该元素及其两个下标值。如有多个输出行号最小的,还有多个的话输出列号最小的。

输入样例:

1 2 3 5
-2 5 8 9
6 -7 5 3

输出样例:

9 2 4

解题思路:

写水题一时爽一直写水题一直爽。用ans记录绝对值最大的元素,pos1、pos2为其所在下标,然后无脑遍历最后输出即可。

AC代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a[3][4];
    int ans = -1e5,pos1,pos2;   //绝对值最大的元素ans及其下标(pos1,pos2)
    for(int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            cin >> a[i][j];
            if(abs(a[i][j]) > ans)
            {
                ans = abs(a[i][j]);
                pos1 = i+1;
                pos2 = j+1;
            }
        }
    }
    printf("%d %d %d\n",ans,pos1,pos2);
    return 0;
}