c语言这题咋编程,帮帮忙于龙在运动会上和4位同学进行跳绳比赛,需要一个排名程序,先输入每位同学的成绩(跳绳计数),再输出每位同学的成绩及排名(成绩从高到低排列)。
时间: 2024-11-20 08:34:40 浏览: 17
在C语言中,你可以使用数组和循环结构来实现这个简单的排名程序。首先,创建一个动态大小的数组来存储每个学生的跳绳成绩,然后通过遍历数组找出最高分并记录其索引,接着对剩余的学生再次遍历,每找到比当前最高分更高的分数就更新排名。这里是一个基本的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 5 // 假设最多有5位同学
int main() {
int scores[MAX_STUDENTS];
int num_students;
printf("请输入学生人数:");
scanf("%d", &num_students);
if (num_students > MAX_STUDENTS) {
printf("错误:超过最大人数限制!\n");
return 1; // 处理超限情况
}
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位同学的成绩:", i + 1);
scanf("%d", &scores[i]);
}
// 对成绩数组进行降序排序
for (int i = 0; i < num_students - 1; i++) {
for (int j = 0; j < num_students - 1 - i; j++) {
if (scores[j] < scores[j + 1]) {
// 交换位置
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
printf("\n排名结果如下(按成绩从高到低):\n");
for (int i = 0; i < num_students; i++) {
printf("第%d名:同学%d,成绩:%d\n", i + 1, i + 1, scores[i]);
}
return 0;
}
```
阅读全文