用c语言输入10名同学的成绩和学号,输出显示学生分数的排行,采用冒泡排序
时间: 2023-06-09 16:04:44 浏览: 105
好的,我理解了你的要求。以下是你需要用 C 语言实现的程序代码,该程序使用冒泡排序算法对输入的 10 名同学的成绩进行排名,并输出排名结果:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 10
int main() {
int i, j;
int scores[MAX_STUDENTS];
int ids[MAX_STUDENTS];
int temp;
printf("请依次输入 10 名同学的学号和成绩:\n");
for (i = 0; i < MAX_STUDENTS; i++) {
printf("请输入第 %d 名同学的学号:", i + 1);
scanf("%d", &ids[i]);
printf("请输入第 %d 名同学的成绩:", i + 1);
scanf("%d", &scores[i]);
}
for (i = 0; i < MAX_STUDENTS - 1; i++) {
for (j = 0; j < MAX_STUDENTS - i - 1; j++) {
if (scores[j] < scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
temp = ids[j];
ids[j] = ids[j + 1];
ids[j + 1] = temp;
}
}
}
printf("学生成绩排名如下:\n");
for (i = 0; i < MAX_STUDENTS; i++) {
printf("第 %d 名同学的学号是 %d,成绩为 %d 分。\n", i + 1, ids[i], scores[i]);
}
return 0;
}
```
上面的程序代码中,我们使用了两个数组分别存储学生的学号和成绩,然后使用了冒泡排序算法对成绩进行排序,获取排名,并输出排名结果。程序使用提示和格式化的输出,使得输出内容更加友好和易读。
希望这个程序可以满足你的需求,如果你还有其他问题,欢迎继续问我。
阅读全文