能够参考一下,java
#include <cstdio> #include <algorithm> #include <cstring> using namespace std; struct Student{ char name[20]; int score; }stu[100],add[100]; bool namecmp(Student a,Student b){ return a.name>b.name; } bool cmp(Student a,Student b){ if(a.score!=b.score) return a.score>b.score; else return strcmp(a.name,"Maoxiaojie"); } int main(){ int N,M; scanf("%d",&N); for(int i=1;i<=N;i++){ scanf("%s",&stu[i].name); } sort(stu+1,stu+1+N,namecmp); scanf("%d",&M); for(int i=1;i<=M;i++){ for(int j=1;j<=N;j++){ scanf("%d %s",&add[j].score,&add[j].name); } sort(add+1,add+1+N,namecmp); for(int j=1;j<=N;j++){ stu[j].score+=add[j].score; add[j].score=stu[j].score; } sort(add+1,add+1+N,cmp); } for(int j=1;j<=N;j++){ if(strcmp(add[j].name,"Maoxiaojie")==0){ printf("%d\n",j); break; } } return 0; }