#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]); } }