php婚庆网站源码,零用贷网站如何做,企业宣传册模板科技,余姚做网站的公司成绩排序 C语言代码C 代码Java代码Python代码 #x1f490;The Begin#x1f490;点点关注#xff0c;收藏不迷路#x1f490; 给出班里某门课程的成绩单#xff0c;请你按成绩从高到低对成绩单排序输出#xff0c;如果有相同分数则名字字典序小的在前。
输入
第一行为… 成绩排序 C语言代码C 代码Java代码Python代码 The Begin点点关注收藏不迷路
给出班里某门课程的成绩单请你按成绩从高到低对成绩单排序输出如果有相同分数则名字字典序小的在前。
输入
第一行为n (0 n 20)表示班里的学生数目
接下来的n行每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20成绩为一个不大于100的非负整数。
输出
把成绩单按分数从高到低的顺序进行排序并输出每行包含名字和分数两项之间有一个空格。
样例输入
4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28样例输出
Joey 92
Hanmeimei 90
Kitty 80
Tim 28C语言代码
#include stdio.h
#include stdlib.h
#include string.h// 结构体定义存储学生姓名和成绩
struct Student {char name[21];int score;
};// 比较函数用于qsort先按成绩降序成绩相同按名字字典序升序
int compare(const void *a, const void *b) {struct Student *s1 (struct Student *)a;struct Student *s2 (struct Student *)b;if (s1-score s2-score) {return 1;} else if (s1-score s2-score) {return -1;} else {return strcmp(s1-name, s2-name);}
}int main() {int n;scanf(%d, n); // 输入学生数目nstruct Student students[n];for (int i 0; i n; i) {scanf(%s %d, students[i].name, students[i].score); // 输入每个学生名字和成绩}qsort(students, n, sizeof(struct Student), compare); // 使用qsort排序for (int i 0; i n; i) {printf(%s %d\n, students[i].name, students[i].score); // 输出排序后的学生名字和成绩}return 0;
}C 代码
#include iostream
#include algorithm
#include string
#include vector
using namespace std;// 结构体定义存储学生姓名和成绩
struct Student {string name;int score;
};// 自定义比较函数先按成绩降序成绩相同按名字字典序升序
bool compare(Student s1, Student s2) {if (s1.score s2.score) {return false;} else if (s1.score s2.score) {return true;} else {return s1.name s2.name;}
}int main() {int n;cin n; // 输入学生数目nvectorStudent students;for (int i 0; i n; i) {string name;int score;cin name score; // 输入每个学生名字和成绩students.push_back({name, score});}sort(students.begin(), students.end(), compare); // 使用sort排序for (int i 0; i students.size(); i) {cout students[i].name students[i].score endl; // 输出排序后的学生名字和成绩}return 0;
}Java代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;class Student {String name;int score;Student(String name, int score) {this.name name;this.score score;}
}public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 输入学生数目nArrayListStudent students new ArrayList();for (int i 0; i n; i) {String name scanner.next();int score scanner.nextInt(); // 输入每个学生名字和成绩students.add(new Student(name, score));}Collections.sort(students, (s1, s2) - {if (s1.score s2.score) {return 1;} else if (s1.score s2.score) {return -1;} else {return s1.name.compareTo(s2.name);}}); // 使用Collections.sort排序for (Student s : students) {System.out.println(s.name s.score); // 输出排序后的学生名字和成绩}}
}Python代码
n int(input()) # 输入学生数目n
students []
for _ in range(n):name, score input().split() # 输入每个学生名字和成绩students.append((name, int(score)))
students.sort(keylambda x: (-x[1], x[0])) # 先按成绩降序成绩相同按名字字典序升序排序
for student in students:print(student[0], student[1]) # 输出排序后的学生名字和成绩The End点点关注收藏不迷路