C 找到该列最大的前两个数字

#include <stdio.h>
#include <string.h>
#include <stdlib.h>



main(){
    int m1=0;//指向最大数的下标
    int m2=0;//指向次大数的下标

    int a[4][5]={ 
        1,2,4,9,8,
        -1,4,9,6,8,
        12,9,8,7,0,
        7,8,9,7,0
    
    };

    int j=0;
    int i=0;
    for(;j<5;j++){
        for(i=0;i<4;i++){
            int temp=0;
            if(a[i][j]>a[m1][j]){//遇到一个比目前最大的数还大 那么目前最大的数就是第二大的
                m2=m1;
                m1=i;
            }else if(   a[m1][j]>a[i][j] &&a[i][j]>a[m2][j]   ){ //之后又遇到比最大小比第二大还大的数
                m2=i;
            }

        }
        printf("%d  %d\n",a[m1][j],a[m2][j]);
    
    }
}

 

posted @ 2013-03-13 14:02  cart55free99  阅读(183)  评论(0编辑  收藏  举报