杭州电子科技大学2016年第三题笔试
#include "bits/stdc++.h"
using namespace std;
struct sc{
char name[10];
int id;
int score1;
int score2;
int score3;
}s[100];
bool cmp(struct sc a,struct sc b){
int mark1=a.score1+a.score2+a.score3;
int mark2=b.score1+b.score2+b.score3;
if(mark1!=mark2){
return mark1>mark2;
}else{
return a.id<b.id;
}
}
int main(void) {
const char *path="test.txt";
FILE *fp=fopen(path,"r+");
char temp[1000];
int cnt=0;
fgets(temp,1000,fp);
while(feof(fp)==false){
fscanf(fp,"%s %d %d %d %d",s[cnt].name,&s[cnt].id,&s[cnt].score1,&s[cnt].score2,&s[cnt].score3);
cnt++;
}
sort(s,s+cnt,cmp);
for(int i=0;i<cnt;i++){
printf("%s %d %d %d %d\n",s[i].name,s[i].id,s[i].score1,s[i].score2,s[i].score3);
}
fclose(fp);
return 0;
}