解题思路:
定义结构体--按照规定排序--过分数线人数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.4 (C语言代码)浏览:1029 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:563 |
简单的a+b (C语言代码)浏览:626 |
【金明的预算方案】 (C++代码)浏览:838 |
A+B for Input-Output Practice (III) (C语言代码)浏览:564 |
局部变量作函数返回值的问题浏览:963 |
字符逆序 (C语言代码)浏览:612 |
输入输出格式练习 (C语言代码)浏览:842 |
简单的a+b (C语言代码)浏览:415 |
1392题解(大数相加)浏览:601 |