提交记录 #396
提交时间:2024-12-03 16:24:08
语言:c
状态:Unaccepted
编译情况:编译成功
固定测试点#1:
固定测试点#2:
固定测试点#3:
附加测试点暂不可用
5757.【中学】学生成绩排序
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n); // 输入学生人数
char all[n][100]; // 存储学生姓名,假设每个姓名最多100个字符
int grade[n]; // 存储学生成绩
// 输入每个学生的姓名和成绩
for (int i = 0; i < n; i++) {
scanf("%s", all[i]); // 输入姓名
scanf("%d", &grade[i]); // 输入成绩
}
// 冒泡排序:根据成绩从高到低排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (grade[j] < grade[j + 1]) {
// 交换成绩
int tempGrade = grade[j];
grade[j] = grade[j + 1];
grade[j + 1] = tempGrade;
// 交换姓名
char tempName[100];
strcpy(tempName, all[j]);
strcpy(all[j], all[j + 1]);
strcpy(all[j + 1], tempName);
}
}
}
// 输出排序后的结果
for (int i = 0; i < n; i++) {
printf("%s,%d\n", all[i], grade[i]); // 输出姓名和成绩
}
return 0;
}