500字范文,内容丰富有趣,生活中的好帮手!
500字范文 > HDU 青年歌手大奖赛_评委会打分【入门】

HDU 青年歌手大奖赛_评委会打分【入门】

时间:2022-12-29 14:13:59

相关推荐

HDU 青年歌手大奖赛_评委会打分【入门】

青年歌手大奖赛_评委会打分

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 162907 Accepted Submission(s): 79614

Problem Description

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input

输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

Output

对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

Sample Input

3 99 98 97

4 100 99 98 97

Sample Output

98.00

98.50

Author

lcy

Source

C语言程序设计练习(三)

问题链接:HDU 青年歌手大奖赛_评委会打分

问题简述:(略)

问题分析

按Markdown格式重写了题解,旧版题解参见参考链接。

这个题没有必要用数组来存储读入的数据,读入数据流中的数据进行计算处理就可以了。

OJ做题,浮点数的话,计算用double类型,输出按"%f"格式。

求和、求最大值和求最小值都是套路,套路需要玩得很熟才行。

用C++语言来编程的话,求最大值和最小值就可以直接使用函数来实现。

程序说明:(略)

参考链接:HDU 青年歌手大奖赛_评委会打分【入门】

题记:(略)

AC的C语言程序如下:

/* HDU 青年歌手大奖赛_评委会打分 */#include <stdio.h>int main(void){int n;while (scanf("%d", &n) != EOF) {/* 声明变量并且初始化 */int score, sum = 0, maxs = 0, mins = 1000, i;/* 读入n个分数,并且求和、算最大值和最小值 */for (i = 1; i <= n; i++) {scanf("%d", &score);sum += score;maxs = (score > maxs) ? score : maxs;mins = (score < mins) ? score : mins;}/* 输出结果 */printf("%.2f\n", (double)(sum - maxs - mins) / (n -2));}return 0;}

AC的C++语言程序如下:

/* HDU 青年歌手大奖赛_评委会打分 */#include <iostream>#include <cstdio>using namespace std;int main(){int n;while (scanf("%d", &n) != EOF) {/* 声明变量并且初始化 */int score, sum = 0, maxs = 0, mins = 1000, i;/* 读入n个分数,并且求和、算最大值和最小值 */for (i = 1; i <= n; i++) {scanf("%d", &score);sum += score;maxs = max(maxs, score);mins = min(mins, score);}/* 输出结果 */printf("%.2f\n", (double)(sum - maxs - mins) / (n - 2));}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。