前端小chen@ 2022-11-29 20:21 采纳率: 54.5%
浏览 44

没啥思路,希望给点解题思路

输入一个整型数组成的 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

  • 写回答

2条回答 默认 最新

  • Lion 莱恩呀 CSDN实力新星 2022-11-29 21:04
    关注

    直接在输入过程中就做判断和记录,可以这么实现:

    
    #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;
    }
    

    如果对你有用,望采纳。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月29日