c语言求现已知某市乒乓球决赛成绩,要求编写程序,输入 8 名运动员的编号和成绩,然后按照 成绩进行排名,输出结果中包含名次、运动员编号和成绩三项内容
时间: 2023-07-14 13:14:13 浏览: 63
下面是一个示例程序,可以实现您的需求:
```c
#include <stdio.h>
#define NUM_PLAYERS 8
int main() {
int scores[NUM_PLAYERS];
int ids[NUM_PLAYERS];
int i, j, temp;
// 输入运动员编号和成绩
printf("请输入8名运动员的编号和成绩:\n");
for (i = 0; i < NUM_PLAYERS; i++) {
printf("第%d名运动员的编号和成绩:", i+1);
scanf("%d %d", &ids[i], &scores[i]);
}
// 按照成绩进行排名
for (i = 0; i < NUM_PLAYERS; i++) {
for (j = i+1; j < NUM_PLAYERS; j++) {
if (scores[j] > scores[i]) {
// 交换成绩
temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
// 交换编号
temp = ids[i];
ids[i] = ids[j];
ids[j] = temp;
}
}
}
// 输出排名结果
printf("\n排名结果:\n");
for (i = 0; i < NUM_PLAYERS; i++) {
printf("第%d名:%d %d分\n", i+1, ids[i], scores[i]);
}
return 0;
}
```
示例输出:
```
请输入8名运动员的编号和成绩:
第1名运动员的编号和成绩:1 80
第2名运动员的编号和成绩:2 90
第3名运动员的编号和成绩:3 70
第4名运动员的编号和成绩:4 85
第5名运动员的编号和成绩:5 95
第6名运动员的编号和成绩:6 75
第7名运动员的编号和成绩:7 60
第8名运动员的编号和成绩:8 88
排名结果:
第1名:5 95分
第2名:2 90分
第3名:8 88分
第4名:1 80分
第5名:4 85分
第6名:6 75分
第7名:3 70分
第8名:7 60分
```