C语言程序已经写好但是有错误不能运行,求高手解答

2024-12-27 16:28:55
推荐回答(2个)
回答1:

逻辑混乱
在你判断出 a[i]>a[b] 时不仅要记录下 b 这个坐标,同时还要记录值到 max ,你把这俩过程分开进行,还不加花括号,那后边的操作就不受条件限制了。找最小值也一样。
自己修改吧,我要是直接给出代码,那你这问题也就没意义了。

回答2:

#include
#define M 3
#define N 4
int main(void)
{
    int a[M][N] = {0};
    int i,j,b,c;
    printf("\nInput %dx%d numbers:\n", M, N);
    for(i=0;i    {
        for (j = 0; j < N; ++j)
        {
            scanf("%d",&a[i][j]);
        }
    }
    b=0;
    c=0;
    for(i=0; i    {
        for (j = 0; j < N; ++j)
        {
            if (a[i][j] > a[b][c])
            {
                b = i;
                c = j;
            }
        }
    }
    for(i=0;i    {                           
        for (j = 0; j < N; ++j) 
        {                       
            printf("%d\t",a[i][j]);
        }              
        printf("\n");
    }                           
    printf("\nOutput:\n");
    printf("max=a[%d][%d]=%d\n", b, c, a[b][c]);
    printf("\n");
    return 0;
}
/*
Input 3x4 numbers:
1 2 3 4 5 6 7 8 9 12 0 100
1       2       3       4
5       6       7       8
9       12      0       100
Output:
max=a[2][3]=100
*/