欢大帅 2025-11-24 21:54 采纳率: 100%
浏览 18
已结题

帮助我改C语言基础知识,豆包都说是对的

img

img


谁来帮帮我?这是一个鞍点问题,询问豆包多年,一直显示是正确的。

  • 写回答

4条回答 默认 最新

  • fengbizhe 2025-11-25 09:42
    关注
    
    #include <stdio.h>
    int main()
    {
        int m, n;
        scanf("%d %d", &m, &n);
        int s[m][n];
        int f[m][2];
        int t[n][2];
        int i, j, k, a, b, c, p = 0, last = 0;
    
        for (i = 0; i < m; i++)
        {
            for (j = 0; j < n; j++)
            {
                scanf("%d", &s[i][j]);
            }
        }
        for (i = 0; i < m; i++)
        {
            p = s[i][0];
            f[i][0] = i;
            f[i][1] = 0;
            for (j = 1; j < n; j++)
            {
                if (s[i][j] > p)
                {
                    p = s[i][j];
                    f[i][0] = i;
                    f[i][1] = j;
                }
            }
        }
        for (j = 0; j < n; j++)
        {
            p = s[0][j];
            t[j][0] = 0;
            t[j][1] = j;
            //要先赋值一下,不然会跳过第一行,即使内循环遍历第一行也只会相等不计入其中
            for (i = 1; i < m; i++)
            {
                if (s[i][j] < p)
                {
                    p = s[i][j];
                    t[j][0] = i;
                    t[j][1] = j;
                }
            }
        }
        for (i = 0; i < m; i++)
        {
            int l = f[i][1];
            if (f[i][1] == t[l][1] && f[i][0] == t[l][0])
            {
                a = f[i][0];
                b = f[i][1];
                c = s[a][b];
                printf("Array[%d][%d]=%d", a, b, c);
                last = 1;
            }
        }
        if (last == 0)
        {
            printf("None");
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月24日