现已知某市乒乓球决赛成绩,要求编写C语言程序,输入 8 名运动员的编号和成绩,然后按照 成绩进行排名,输出结果中包含名次、运动员编号和成绩三项内容。
时间: 2024-02-06 21:02:57 浏览: 33
好的,我可以帮您编写这个程序。以下是完整的程序代码:
```c
#include <stdio.h>
#define NUM 8
struct player {
int id;
float score;
};
int main() {
struct player players[NUM];
int i, j;
struct player temp;
// 输入运动员编号和成绩
for (i = 0; i < NUM; i++) {
printf("请输入第%d名运动员的编号和成绩:", i+1);
scanf("%d%f", &players[i].id, &players[i].score);
}
// 根据成绩进行排名
for (i = 0; i < NUM-1; i++) {
for (j = i+1; j < NUM; j++) {
if (players[i].score < players[j].score) {
temp = players[i];
players[i] = players[j];
players[j] = temp;
}
}
}
// 输出结果
printf("\n排名\t编号\t成绩\n");
for (i = 0; i < NUM; i++) {
printf("%d\t%d\t%.2f\n", i+1, players[i].id, players[i].score);
}
return 0;
}
```
程序中使用了一个结构体 `player`,包含了运动员的编号和成绩两个属性。首先,程序会要求用户输入 8 名运动员的编号和成绩,并将它们存储在 `players` 数组中。然后,程序会使用冒泡排序算法根据成绩进行排名,最后输出结果。
需要注意的是,程序中使用了 `scanf` 函数来读取用户输入的数据,因此要确保用户输入的数据格式正确,否则程序可能会出现异常。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)