用dev-c++设某班级有n个学生,要求设计以下算法:输入全班学生的学号和某一门课程的考试成绩
时间: 2023-05-21 18:00:47 浏览: 287
可以使用数组来存储学生的学号和考试成绩,然后使用排序算法对成绩进行排序,最后输出排名前几名的学生的学号和成绩。以下是示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
int main() {
int n, i, j;
int id[MAX_STUDENTS], score[MAX_STUDENTS];
printf("请输入学生人数:");
scanf("%d", &n);
printf("请输入学生的学号和考试成绩:\n");
for (i = 0; i < n; i++) {
scanf("%d %d", &id[i], &score[i]);
}
// 使用冒泡排序对成绩进行排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (score[j] < score[j + 1]) {
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
temp = id[j];
id[j] = id[j + 1];
id[j + 1] = temp;
}
}
}
printf("排名前几名的学生的学号和成绩是:\n");
for (i = 0; i < 3 && i < n; i++) {
printf("%d %d\n", id[i], score[i]);
}
return 0;
}
```
注意:这里只输出了排名前三名的学生的学号和成绩,可以根据需要修改输出的数量。
阅读全文