看看吧,很简单。。,

求二维整型数组的“最大点”。 二维数组的“最大点"定义为:某个数是所在行的最大值,并且是所在列的最大值。注意:一个数组可能有多个最大点”。输入: ()n行和m列(n, m<=10),(2)n*m个整数, 数据以空格隔开:输出:每行输出一个“最大点”的值及其行下标、列下标(行列都从1开始计数),空格分隔。
样例输入:3 4

8 60 7 100

10 498 12 49

-71 132 4 85

样例输出:

100 1 4

498 2 2


#include <stdio.h>
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    int a[11][11];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&a[i][j]);
        }
    }
    //先获取每一列最大值的行坐标
    int col[11];
    for(int j=0;j<m;j++){
        int maxi = 0;
        for(int i=0;i<n;i++){
            if(a[i][j]>a[maxi][j]){
                maxi = i;
            }
        }
        col[j]=maxi;
    }
    for(int i=0;i<n;i++){
        //获取当前行最大值的列坐标
        int maxj = 0;
        for(int j=0;j<m;j++){
            if(a[i][j] > a[i][maxj]){
                maxj = j;
            }
        }
        if(i==col[maxj]){
            printf("%d %d %d\n",a[i][maxj],i+1,maxj+1);
        }
    }
    return 0;
}