杨嘉琪


私信TA

用户名:dotcpp0664564

访问量:1046

签 名:

等  级
排  名 625
经  验 3980
参赛次数 1
文章发表 21
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

1755: 姓名排序
浏览:8

解题思路:
定义结构体--按照规定排序--过分数线人数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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区