社区讨论

问一题,求助

灌水区参与者 4已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@lo8k20og
此快照首次捕获于
2023/10/27 19:53
2 年前
此快照最后确认于
2023/10/27 19:53
2 年前
查看原帖

【排序】成绩排序

题目描述

给出n个学生的姓名和成绩,请将他们按照分数降序排列,如果分数相同,先列出的排在前面。

输入格式

第一行一个整数n 接下来n行,每行包含姓名和成绩

输出格式

n行,每行包含姓名和成绩

样例 #1


样例输入 #1

CPP
5
关云长 90
张翼德 91
赵子龙 98
马孟起 94
黄汉升 98

样例输出 #1

CPP
赵子龙 98
黄汉升 98
马孟起 94
张翼德 91
关云长 90

提示

0<n<100,名字长度<20,分数<100

只有90分,一直不过,团队作业没题解
求助

以下是我代码

#include<bits/stdc++.h>
#include
#include
using namespace std;
struct p{
CPP
string n;


int b;
}a[1100];
int main()
{ int m;
CPP
cin>>m;


for(int i=1;i<=m;{                  
	cin>>a[i].n>>a[i].b;  
}
for(int i=1;i<m;i++){
CPP
	int k=i;
	for(int j=i;j<=m;j++){
	if(a[j].b>a[k].b)k=j;
		
}
swap(a[i].n,a[k].n);
CPP
swap(a[i].b,a[k].b);
} for(int i=1;i<=m;i++){
CPP
	cout<<a[i].n<<' '<<a[i].b<<endl;
}
return 0;
}

格式不好,将就看
你们提意见,我改

回复

12 条回复,欢迎继续交流。

正在加载回复...