1
已解决
张舒斌
中级光能
中级光能
#include<bits/stdc++.h>
using namespace std;
struct game
{
string name,df;
}a[1000];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].name>>a[i].df;
}
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[i].df.size()<a[j].df.size())
{
swap(a[i],a[j]);
}
else if(a[i].df.size()==a[j].df.size()&&a[i].df!=a[j].df)
{
for(int k=0;k<=a[i].df.size()-1;k++)
{
if(a[i].df[k]-48<a[j].df[k]-48)
{
swap(a[i],a[j]);
break;
}
}
}
else if(a[i].df==a[j].df&&a[i].name>a[j].name)
{
swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++)
{
cout<<a[i].name<<endl;
}
return 0;
}
This is 结果:
输入:
6
Sedgewick
56541313484613131997132131312121
Parberry
31646431316464313131644979791313
Polya
6794313013464644313131313131
Motwani
13134949746416265468652
Gonzalez
1651644987436132164646499413131
Moret
1613131464613131313519
输出:
Parberry
Sedgewick
Gonzalez
Polya
Motwani
Moret
张舒斌在2019-01-18 12:59:12追加了内容
顺便问下,大家期末考试考得怎么样啊?本人自我感觉良好,有信心全良
0
已采纳
时梓繁
修练者
修练者
cin>>n; for(int i=0;i<n;i++) { cin>>a[i].name>>a[i].score; } sort(a+0,a+n,comp); for(int i=0;i<n;i++) { cout<<a[i].name<<endl; }
少了
时梓繁在2019-01-18 13:19:15追加了内容
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; struct game{ string name; string score; }a[500];
时梓繁在2019-01-18 14:48:53追加了内容
感觉不错
估计语文90分;
数学99分;
英语100分;
科学48分;
0
0