解题思路:
定义结构体--按照规定排序--过分数线人数s--输出s名
注意事项:
结构体使用sort排序需要自己编写排序规则:sort(start,end,排序方法)
参考代码:
#include<iostream>
#include<algorithm>//sort头文件
using namespace std;
//结构体
struct r{
long int id;
int score;
};
struct r x[10001];
//cmp函数 ,为sort排序定规则
bool cmp(r x,r y){
if(x.score>y.score)
return 1;
if(x.score==y.score)
if(x.id<y.id)
return 1;
return 0;
}
//主函数
int main()
{
int n,m,i;
cin>>n>>m;
for(i=0;i<n;i++){
cin>>x[i].id>>x[i].score;
}
int s=m*1.5;//过分数线 人数
sort(x,x+n,cmp); //排序,定义规则:cmp函数
//如果卡在相同分数,定位人数
for(i=0;i<s;i++){
if(x[s+1-1].score==x[s-1].score){
s++;
}
}
//输出最低分,人数
cout<<x[s-1].score<<" "<<s<<endl;
//输出录取人数
for(i=0;i<s;i++){
cout<<x[i].id<<" "<<x[i].score<<endl;
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:778 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:701 |
WU-字符串比较 (C++代码)浏览:767 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:903 |
回文数字 (C语言代码)浏览:2514 |
剪刀石头布 (C++代码)浏览:1727 |
C二级辅导-计负均正 (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:776 |
C语言训练-大、小写问题 (C语言代码)浏览:683 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:559 |