第一次用结构体,写些自己的心得: #include<stdio.h> #include<algorithm> using namespace std; #define MAX 50000 struct COW //定义结构体,(由于在cmp()函数里需要用到结构体名,所以定义了COW,并且结构体变量定义成全局变量) { long long vote1; long long vote2; int num; }cow[MAX+1]; //结构体数组 int cmp1(COW a,COW b) //cmp1()在第一次sort()时用到 { return a.vote1 > b.vote1; //对cow里的不同成员进行sort,定义不同的cmp函数 } int cmp2(COW a,COW b) { return a.vote2 > b.vote2; } int main() { int nCow,k,i; while(scanf("%d%d",&nCow,&k)!=EOF) { for(i = 0 ;i < nCow ;i++ ) { scanf("%lld%lld",&cow[i].vote1,&cow[i].vote2); cow[i].num=i+1; } sort(cow,cow+nCow,cmp1); sort(cow,cow+k,cmp2); printf("%d/n",cow[0].num); } return 0; }