学生姓名的字母序区分字母的大小写,如A要比a的字母序靠前(因为A的ASC码比a的ASC码要小)。
题目有点问题 排列按 成绩 年龄 姓名
#include"iostream"#include"algorithm"#include"cstring"using namespace std;struct student { char name[100]; int old; int score;}T[100];bool cmp(student a,student b){ if(a.score>b.score)return 1;elseif(a.score==b.score){ if(a.old>b.old) return 0; else if(a.old==b.old) { if(strcmp(a.name,b.name)>1) return 1; }}}void main(){int i,n; while(cin>>n) { for(i=0;i<n;i++) { cin>>T[i].name>>T[i].old>>T[i].score; } sort(T,T+n,cmp); for(i=0;i<n;i++) { cout<<T[i].name<<' '<<T[i].old<<' '<<T[i].score<<endl; } }}
超时了 囧啊