数组
描述求某矩阵中最大元素所在的位置,在此用下标表示。
输入
输入有k个用例,每个用例的第一行为矩阵行数(m)和列数(n),接下来m行,每行n个元素(整数)。可以假定矩阵中只有一个数是最大值。
输出
对每一个用例,用一行输出最大值,所在行标和列标,用空格隔开。(注:行标和列表采用数组中下标表示,即从0开始)
样例输入
2
2 3
1 2 3
4 5 6
3 3
1 4 7
9 6 3
2 5 8
样例输出
6 1 2
9 1 0
完全没有思路哇,救救孩子! 遍历这个二维数组,每次判断是否为最大值就行了 #include <stdio.h>
int main()
{
int a, i, j, k;
int m, n, max, x, y;
int array; // 假设数组最大为100行,100列
scanf_s("%d", &k);
for (a = 0;a < k;a++) // 有 k 个用例
{
scanf_s("%d%d", &m, &n);// 定义数组大小
for (i = 0;i < m;i++) // 输入数组元素
{
for (j = 0;j < n;j++)
{
scanf_s("%d", &array);
}
}
max = array; // 假设数组的第一个数就是最大值
for (i = 0;i < m;i++)
{
for (j = 0;j < n;j++)
{
if (max < array)
{
max = array;
x = i; // 记录下最大值的行
y = j; // 记录下最大值的列
}
}
}
printf("%d %d %d", max, x, y);
printf("\n");
}
}
页:
[1]