青年歌手大奖赛_评委会打分 题解
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
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
1.熟悉 sort 函数的用法;
2.在最后的输出中,scanf是要配printf,不然会精度丢失。
用c++处理保留小数位数以及循环输入多组数据的方法;
摘自CSDN:
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- int n = 141;
- //1) 分别以十六进制、十进制、八进制先后输出 n
- cout << "1)" << hex << n << " " << dec << n << " " << oct << n << endl;
- double x = 1234567.89, y = 12.34567;
- //2)保留5位有效数字
- cout << "2)" << setprecision(5) << x << " " << y << " " << endl;
- //3)保留小数点后面5位
- cout << "3)" << fixed << setprecision(5) << x << " " << y << endl;
- //4)科学计数法输出,且保留小数点后面5位
- cout << "4)" << scientific << setprecision(5) << x << " " << y << endl;
- //5)非负数显示正号,输出宽度为12字符,宽度不足则用 * 填补
- cout << "5)" << showpos << fixed << setw(12) << setfill('*') << 12.1 << endl;
- //6)非负数不显示正号,输出宽度为12字符,宽度不足则右边用填充字符填充
- cout << "6)" << noshowpos << setw(12) << left << 12.1 << endl;
- //7)输出宽度为 12 字符,宽度不足则左边用填充字符填充
- cout << "7)" << setw(12) << right << 12.1 << endl;
- //8)宽度不足时,负号和数值分列左右,中间用填充字符填充
- cout << "8)" << setw(12) << internal << -12.1 << endl;
- cout << "9)" << 12.1 << endl;
- return 0;
- }