It is said that 90% of frosh expect to be above average in their class. You are to provide a reality check.
输入输出样例
Input
The first line of standard input contains an integer 1≤C≤50, the number of test cases. C data sets follow. Each data set begins with an integer, N, the number of people in the class (1≤N≤1000). N integers follow, separated by spaces or newlines, each giving the final grade (an integer between 0 and 100) of a student in the class.
Output
For each case you are to output a line giving the percentage of students whose grade is above average, rounded to exactly 3 decimal places.
代码
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main() {
int n,m;
int sum = 0;
double average = 0.0;
int count = 0;
int a[1000];
cin >> n;
int p = 0;
while (p < n) {
cin >> m;
for (int i = 0; i < m; i++) {
cin >> a[i];
sum = sum + a[i];
}
average = sum / m;
for (int i = 0; i < m; i++) {
if (a[i] > average) {
count++;
}
}
for (int i = 0; i < m; i++) {
a[i] = 0;
}
cout << fixed << setprecision(3) << count * 100.0/ m<< "%" << endl;
count = 0;
p++;
sum = 0;
average = 0.0;
}
}