7 条题解
-
1
c++2
#include<bits/stdc++.h> using namespace std; struct Stu{ string name; int score; }stu[25]; bool cap(Stu a,Stu b){ if(a.score==b.score) return a.name<b.name; return a.score>b.score; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>stu[i].name>>stu[i].score; } sort(stu+1,stu+n+1,cap); for(int i=1;i<=n;i++){ cout<<stu[i].name<<" "<<stu[i].score<<endl; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; struct Stu{ string name; int score; }stu[25]; bool cmp(Stu a, Stu b){ if(a.score==b.score) return a.name<b.name; return a.score>b.score; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>stu[i].name>>stu[i].score; } sort(stu+1,stu+n+1,cmp); for(int i=1;i<=n;i++){ cout<<stu[i].name<<" "<<stu[i].score<<endl; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; struct Stu{ string name; int score; }stu[25]; bool cap(Stu a,Stu b){ if(a.score==b.score) return a.name<b.name; return a.score>b.score; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>stu[i].name>>stu[i].score; } sort(stu+1,stu+n+1,cap); for(int i=1;i<=n;i++){ cout<<stu[i].name<<" "<<stu[i].score<<endl; } return 0; }
-
0
python
a=[] swp={} num=int(input()) for i in range(num): b=input().split() b[1]=int(b[1]) a.append({"name":b[0],"fs":b[1]}) #实现结构体 for i in range(num): for j in range(i+1,num): if a[i]["fs"]<a[j]["fs"] or (a[i]["fs"]==a[j]["fs"] and a[i]["name"]>a[j]["name"]): swp=a[i] a[i]=a[j] a[j]=swp #冒泡排序 for i in range(num): print("%s %d"%(a[i]["name"],a[i]["fs"]))
-
0
c++
#include<bits/stdc++.h> using namespace std; int main() { int n,a[20]; string s[25]; cin>>n; memset(a,0,sizeof(a)); for(int i=0;i<n;i++) { cin>>s[i]>>a[i]; } for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]<a[j])//分数从高到低进行排序 { swap(a[i],a[j]); swap(s[i],s[j]); } if(a[i]==a[j]&&s[i]>s[j])//成绩相同的比较字典序 { swap(a[i],a[j]); swap(s[i],s[j]); } } } for(int i=0;i<n;i++) { cout<<s[i]<<' '<<a[i]<<endl; } return 0; }
-
0
#include <bits/stdc++.h> using namespace std; struct stu{ string name; int score; }s[20]; int cmp(stu x,stu y){ if(x.score==y.score) return x.name<y.name; else return x.score>y.score; } int main(int argc,char* argv[]) { int n,i; cin>>n; for(i=0;i<n;i++){ cin>>s[i].name>>s[i].score; } sort(s,s+n,cmp); for(i=0;i<n;i++){ cout<<s[i].name<<" "<<s[i].score<<endl; } return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; int main() { int n,a[20]; string s[25]; cin>>n; memset(a,0,sizeof(a)); for(int i=0;i<n;i++) { cin>>s[i]>>a[i]; } for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]<a[j])//分数从高到低进行排序 { swap(a[i],a[j]); swap(s[i],s[j]); } if(a[i]==a[j]&&s[i]>s[j])//成绩相同的比较字典序 { swap(a[i],a[j]); swap(s[i],s[j]); } } } for(int i=0;i<n;i++) { cout<<s[i]<<' '<<a[i]<<endl; } return 0; }
- 1
信息
- ID
- 1343
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 317
- 已通过
- 81
- 上传者