向一个n×m的数组中输入一组整数(n<=10,m<=10),然后输出其中的最大值、最小值,并输出这两个值的下标。
输入格式:
第一行输出n×m的数组中的最大值及其下标。每两项之间一个空格。 第二行输出n×m的数组中的最小值及其下标。每两项之间一个空格。 (如果有相同的最大的数,要求输出行列最小,行优先)
输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。
输入样例:
3 5
57 30 66 41 98
11 93 54 62 31
49 87 71 70 37
输出样例:
max=98 row=0 col=4
min=11 row=1 col=0
题目不全。测试数据实际上是多组,但是题目和输入输出样例里面都没有体现。
#include <cstdio>
#include <iostream>
using namespace std;
bool work(void)
{
int n, m;
int max, row_max = 0, col_max = 0;
int min, row_min = 0, col_min = 0;
if (scanf("%d%d", &n, &m) != 2)
return false;
cin >> max;
min = max;
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
{
if (i == 0 && j == 0) continue;
int x; cin >> x;
if (x < min)
{ min = x; row_min = i; col_min = j; }
if (x > max)
{ max = x; row_max = i; col_max = j; }
}
printf("max=%d row=%d col=%d\n", max, row_max, col_max);
printf("min=%d row=%d col=%d\n", min, row_min, col_min);
return true;
}
int main(void)
{
while (work());
return 0;
}