一千萬個為什麽

搜索

計算c中二維數組的最小值和最大值

這個程序用來計算數組元素之和的和,最小和最大值 最大值是問題,它始終不是真的。

void main(void)
{
    int  degree[3][2];
        int min_max[][];
    int Max=min_max[0][0];
    int Min=min_max[0][0];
    int i,j;
    int sum=0;

    clrscr();
    for(i=0;i<3;i++)
    {
        for(j=0;j<2;j++)
        {
            printf("\n enter degree of student no. %d in subject %d:",i+1,j+1);
            scanf("%d",&degree[i][j]);
        }

    }


    for(i=0;i<3;i++)
    {
        for(j=0;j<2;j++)
        {
            printf("\n Student no. %d degree in subject no. %d is %d",i+1,j+1,degree[i][j]);

        }

    }


    for(i=0;i<3;i++)
    {
        sum=0;
        for(j=0;j<2;j++)
        {
            sum+=degree[i][j];

        }
        printf("\n sum of degrees of student no. %d is %d",i+1,sum);
        min_max[i][j]=sum;
        if(min_max[i][j] Max)
        {
            Max=min_max[i][j];
        }




    }
    printf("\nThe minimum sum of degrees of student no. %d is %d",i,Min);
    printf("\nThe maximum sum of degrees of student no. %d is %d",i,Max);
    getch();

}

最佳答案

問題是在為min_max分配任何值之前,你將Min和Max初始化為min_max [0] [0] ,因此它們的內容實際上是未定義的。

scanf 調用之後輸入分配 Min = min_max [0] [0]Max = min_max [0] [0]

轉載註明原文: 計算c中二維數組的最小值和最大值