zeo_chou 2023-11-17 23:09 采纳率: 0%
浏览 5

一维,二维数组与求最大,最小值问题


#include<stdio.h>
int main()
{
    int a[4][3];
    int i,j,x,y,z,v,max,min;
    printf("please input an array:\n");
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
        scanf("%d",&a[i][j]);
    }
    printf("output an array:\n");
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
        printf("%5d",a[i][j]);
        printf("\n");
    }
    max=0;min=0;
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
        if(max<a[i][j])
        {
            max=a[i][j];
            x=i+1;
            y=j+1;
        }
        if(min>a[i][j])
        {
            min=a[i][j];
            z=i+1;
            v=j+1;
        }
        printf("%d %d %d ",max,x,y);
        printf("\n");
        printf("%d %d %d ",min,z,v);
    }
}

我需要解决的问题是在一个矩阵中求出最大,最小值,并且要输出最大,最小值所在的行和列。该矩阵是一个4行3列的矩阵,数据从键盘读入,请求各位专家帮我看看该代码在哪里出错,导致得不到正确的结果

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-11-18 00:21
    关注

    max=0;min=0;
    这个写法不好,因为当数字全是正数,min取不到,当数字全负数,max取不到
    建议写
    max=min=a[0][0];

    评论

报告相同问题?

问题事件

  • 创建了问题 11月17日