用c语言输出最大值和最小值

如题所述

修改后的代码和运行结果如下(改动处见注释):

成功输出了最大最小值及其各自对应的行列下标,望采纳~

附修改后的代码:

#include <stdio.h>

int main() {

    int a[3][5]={0},n,m,max,min,l1,l2,h1,h2;

    printf("please input a[3][5]:\n");

    for (n=0;n<3;n++) // 矩阵为3行,改为 n<3

        for(m=0;m<5;m++) {

            scanf("%d", &a[n][m]);

    }

    max = min = a[0][0];

    h1 = l1 = h2 = l2 = 0; // 最大最小值的行列下标初始设为(0,0)

    for (n=0;n<3;n++) // 矩阵为3行,改为 n<3

        for (m=0;m<5;m++) {

            if (a[n][m] > max) {

                max = a[n][m];

                h1 = n, l1 = m; // h1是行下标,l1是列下标,不要写反

            }      

            else if (a[n][m] < min) {

                min = a[n][m];

                h2 = n, l2 = m;

            }

        }

    printf("max=%d, 所在行为:%d, 所在列为:%d\n", max, h1, l1); // max也要输出

    printf("min=%d, 所在行为:%d, 所在列为:%d\n", min, h2, l2); // min也要输出

    return 0; // 要有返回值

}

温馨提示:答案为网友推荐,仅供参考
相似回答