用所学过的指针知识,编写一个竞赛评分程序。(设有3位选手,5位评委)。输入包括选手的姓名(以单个字符表示)以及5位评委的分数(为0-100的正整数),评分规则为每位选手的成绩为去掉最高分和最低分后再取平均。要求用二维数组来设计程序。输出的格式为“排序 姓名 平均分 最高分 最低分”,要求由高到低对平均分排序,平均分保留2位小数。如下所示:
No name avg max min
1 c 82.33 99 66
2 b 80.12 92 70
3 a 80.11 98 60
C语言编程!跪求!谢谢大佬!输出就是下面的形式的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2020-05-21 09:56关注
问题解决的话,请点采纳
// Q1073621.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> void swap(int * a, int * b) { int t = *a; *a = *b; *b = t; } int main() { int score[3][5]; char names[3][100]; int max[3]; int min[3]; double avg[3]; int order[3]; for (int i = 0; i < 3; i++) { printf("请输入第%d位选手姓名:", i + 1); scanf("%s", &names[i][0]); for (int j = 0; j < 5; j++) { printf("请输入第%d位评委对第%d位选手的打分:", j + 1, i + 1); scanf("%d", &score[i][j]); } order[i] = i; int sum = score[i][0]; max[i] = min[i] = sum; for (int j = 1; j < 5; j++) { sum += score[i][j]; if (max[i] < score[i][j]) max[i] = score[i][j]; if (min[i] > score[i][j]) min[i] = score[i][j]; } avg[i] = (sum - max[i] - min[i]) / 3.0; } if (avg[order[0]] < avg[order[1]]) { swap(&order[0], &order[1]); } if (avg[order[1]] < avg[order[2]]) { swap(&order[1], &order[2]); } if (avg[order[0]] < avg[order[1]]) { swap(&order[0], &order[1]); } printf("No\tname\tavg\tmax\tmin\n"); for (int i = 0; i < 3; i++) { int j = order[i]; printf("No.%d\t%s\t%.2lf\t%d\t%d\t\n", i + 1, names[j], avg[j], max[j], min[j]); } return 0; }
请输入第1位选手姓名:a
请输入第1位评委对第1位选手的打分:100
请输入第2位评委对第1位选手的打分:92
请输入第3位评委对第1位选手的打分:87
请输入第4位评委对第1位选手的打分:91
请输入第5位评委对第1位选手的打分:99
请输入第2位选手姓名:b
请输入第1位评委对第2位选手的打分:72
请输入第2位评委对第2位选手的打分:64
请输入第3位评委对第2位选手的打分:100
请输入第4位评委对第2位选手的打分:100
请输入第5位评委对第2位选手的打分:55
请输入第3位选手姓名:c
请输入第1位评委对第3位选手的打分:79
请输入第2位评委对第3位选手的打分:83
请输入第3位评委对第3位选手的打分:91
请输入第4位评委对第3位选手的打分:91
请输入第5位评委对第3位选手的打分:98
No name avg max min
No.1 a 94.00 100 87
No.2 c 88.33 98 79
No.3 b 78.67 100 55
Press any key to continue . . .本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用 4
悬赏问题
- ¥15 静电纺丝煅烧后如何得到柔性纤维
- ¥15 (标签-react native|关键词-镜像源)
- ¥100 照片生成3D人脸视频
- ¥15 伪装视频时长问题修改MP4的时长问题,
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题
- ¥15 MS中不知道高分子的构型怎么构建模型
- ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
- ¥15 matlab代码 关于微分方程和嵌套的分段函数。