POJ 2350Above Average

来源:互联网 发布:山治两年后的实力知乎 编辑:程序博客网 时间:2024/04/30 01:53

Description

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 C, 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 3 decimal places.

Sample Input

55 50 50 70 80 1007 100 95 90 80 70 60 503 70 90 803 70 90 819 100 99 98 97 96 95 94 93 91

Sample Output

40.000%57.143%33.333%66.667%

55.556%

#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>using namespace std;#define maxn 1005int n;int f[maxn];double average;void input(){    int sum = 0;    scanf("%d", &n);    for (int i = 0; i < n; i++)    {        scanf("%d", &f[i]);        sum += f[i];    }    average = sum * 1.0 / n;}double work(){    int num = 0;    for (int i = 0; i < n; i++)        if (f[i] > average)            num++;    return num * 100.0 / n;}int main(){    int t;    scanf("%d", &t);    while (t--)    {        input();        printf("%.3f%%\n", work());    }    return 0;}


0 0