2012真题 找出一个二维数组中的鞍点,即行最大,列最小 谭浩强习题P63

//找出一个二维数组中的鞍点,即行最大,列最小 谭浩强习题P63
/**
 * 2012 容易
 * 实现二维数组“马鞍点”(即二维数组中某个数在所在行最大,而在所在列最小,马鞍点至多有一个,或者0个)的编程计算
 */
#include <stdio.h>
#define N 4
#define M 5
int main(){
    int i,j,k,a[N][M],max,maxj,flag;
    printf("please input matrix:\n");
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<N;i++){
        max = a[i][0];
        maxj = 0;
        for(j=0;j<M;++j){
            if(a[i][j]>max){
                max=a[i][j];
                maxj = j;
            }
        }
        flag = 1;//先假设是鞍点,以flag为1为代表
        for(k=0;k<N;k++){
            if(max>a[k][maxj]){
                flag = 0;
                continue;
            }
        }

        if(flag){
            printf("a[%d][%d]=%d\n",i,maxj,max);
            break; //自己:马鞍点至多有一个   搞不明白为啥马鞍点至多有一个  暂略
        }

    }

    if(!flag) printf("It is not exist!\n");

    return 0;
}
/**
 * 测试数据
please input matrix:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
a[0][4]=5

please input matrix:
1 2 3 4 11
2 4 6 8 12
3 6 9 10 15
4 8 12 16 7
It is not exist!
*/

全部评论
第25行仍然用i为什么不行啊
点赞 回复 分享
发布于 2022-11-13 18:06 安徽

相关推荐

12-24 20:46
武汉大学 Java
点赞 评论 收藏
分享
11-25 09:41
已编辑
Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
投了多少份简历才上岸
点赞 评论 收藏
分享
做黑夜里的那道光:两年电赛完赛没必要写,纯扣分
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务