输入一个整型数组成的 n×m 矩阵,输出其中的最大值、最小值,同时输出两个值的下标。如果有多个最大值或最小值,则输出行下标最小且列下标最小的。
输入格式:
第一行包含两个正整数 n 和 m,且满足 1≤n≤10, 1≤m≤10。
从第二行开始,共有 n 行 m 列用空格隔开的整数。
输出格式:
分别输出矩阵元素最大值及其下标、矩阵元素最小值及其下标。
输入样例:
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
没啥思路,希望给点解题思路
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注直接在输入过程中就做判断和记录,可以这么实现:
#include <stdio.h> int main() { int row, col; scanf("%d", &row); scanf("%d", &col); int max, min; int tmp; int i, j; int x1 = 0, x2 = 0, y1 = 0, y2 = 0; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { scanf("%d", &tmp); if (i == 0 && j == 0) { max = min = tmp; continue; } if (tmp > max) { max = tmp; x1 = i; y1 = j; } if (tmp < min) { min = tmp; x2 = i; y2 = j; } } } printf("max=%d row=%d col=%d\n", max, x1, y1); printf("min=%d row=%d col=%d\n", min, x2, y2); return 0; }如果对你有用,望采纳。
解决 无用评论 打赏 举报