m0_62599281 2021-10-25 20:29 采纳率: 100%
浏览 41
已结题

哈工大C语言求数组中的最小值

求数组中的最小值
题目内容:

求二维数组(小于10x10)中这样一个位置:在行上最小,在列上也最小。如果没有这样的元素则输出“没有这样的元素”。

输入格式:

"%d"

输出格式:

"a[%d][%d] is Min\n"

"There is no such element"

输入样例:

1 7 4 0 9 4 8 8 2 4

5 5 1 7 1 1 5 2 7 6

1 4 2 3 2 2 1 6 8 5

7 6 1 8 9 2 7 9 5 4

3 1 2 3 3 4 1 1 3 8

7 4 2 7 7 9 3 1 9 8

6 5 0 2 8 6 0 2 4 8

6 5 0 9 0 0 6 1 3 8

9 3 4 4 6 0 6 6 1 8

4 9 6 3 7 8 8 2 9 1

输出样例:

a[0][3] is Min

输入样例:

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

6 6 6 6 6 6 6 6 6 6

输出样例:

There is no such element

  • 写回答

2条回答 默认 最新

  • 关注

    代码如下,如有帮助,请帮忙采纳一下,谢谢。

    img

    代码:

    #include <stdio.h>
    int main()
    {
        int n,i,j,min,index,flag = 0;
        int a[10][10];
        n = 10;
        for (i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
                scanf("%d",&a[i][j]);
        }
        //逐行判断
        for (i=0;i<n;i++)
        {
            min = a[i][0];
            index =0; 
            for(j=1;j<n;j++)
            {
                if(a[i][j] < min)
                {
                    index = j;
                    min = a[i][j];
                }
            }
            //判断在index列是否最小
            for (j=0;j<n;j++)
            {
                if(a[j][index] < a[i][index])
                    break;
            }
            if(j==n)
            {
                flag = 1;
                printf("a[%d][%d] is Min\n",i,index);
            }
            
    
    
    
        }
        if(flag == 0)
            printf("There is no such element");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月25日