0
已解决
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct paixu{
string haoma;
double chengji;
}s[102];
bool cmp(paixu a,paixu b){
if(a.chengji==b.chengji)
return a.haoma<b.haoma;
return a.chengji>b.chengji;
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>s[i].haoma>>s[i].chengji;
sort(s,s+n,cmp);
cout<<s[m].haoma<<" ";
printf("%.1f",s[m].chengji);
return 0;
}
我这里哪儿错了?
翟谦瑞在2018-07-31 10:53:24追加了内容
0
已采纳
@翟谦瑞
首先,你的数组定义太小了(要求0<m<=n<10000),
so把s【102】改为s【10020】就可以了!
其次,你要把sort(s,s+n,cmp)改为sort(s+1, s+1+n, cmp)
或者讲输入输出时,i从0开始
采纳者RP,颜值++
0
0
0
0
0
0
0