题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7
#include <stdio.h>
typedef struct score{
int id;
int grade;
}SCORE;
int main() {
int n;
scanf("%d",&n);
SCORE s[n];
for(int i=0;i<n;i++){
scanf("%d %d",&s[i].id,&s[i].grade);
}
int temp_i;
SCORE temp;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1;j++){
if(s[j].grade>s[j+1].grade){
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
else if(s[j].grade==s[j+1].grade){
if(s[j].id>s[j+1].id){
temp_i=s[j].id;
s[j].id=s[j+1].id;
s[j+1].id=temp_i;
}
}
}
}
for(int i=0;i<n;i++){
printf("%d %d\n",s[i].id,s[i].grade);
}
return 0;
}
查看21道真题和解析