本文主要是介绍c语言:运动会跳绳比赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运动会跳绳比赛
任务描述
于龙在运动会上和4位同学进行跳绳比赛,需要一个排名程序,先输入每位同学的成绩(跳绳计数),再输出每位同学的成绩及排名(成绩从高到低排列)。
输入格式:
五个空格分隔的整数,代表5个人的成绩。
输出格式:
按行输出名次与成绩,之间用一个横线分隔,横线前后各一个空格,横线就是减号。
输入示例1
150 120 180 135 100
输出示例1
1 - 180
2 - 150
3 - 135
4 - 120
5 - 100
输入示例2
180 120 120 180 120
输出示例2
1 - 180
1 - 180
3 - 120
3 - 120
3 - 120
代码
#include <stdio.h>
#define NUM 5
int main() {int scores[NUM];for (int i = 0; i < NUM; ++i){scanf("%d", &scores[i]);}for (int i = 0; i < NUM; ++i)// 按成绩从高到低进行排序,并更新排名{for (int j = i + 1; j < NUM; ++j){if (scores[i] < scores[j]){int temp_score = scores[i];// 交换分数scores[i] = scores[j];scores[j] = temp_score;int temp_rank = ranks[i];// 交换排名ranks[i] = ranks[j];ranks[j] = temp_rank;}}}// 更新排名,处理相同分数的情况for (int i = 1; i < NUM; ++i){if (scores[i] == scores[i - 1]){ranks[i] = ranks[i - 1];}else{ranks[i] = i + 1;}}for (int i = 0; i < NUM; ++i){printf("%d - %d\n", ranks[i], scores[i]);}return 0;
}
这篇关于c语言:运动会跳绳比赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!