西南科技大学OJ题 above average 0706

above average

 1000(ms)

 65535(kb)

 1531 / 3045

It is said that 90% of frosh expect to be above average in their class. You are to provide a reality check.

输入

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 0 <= final grade <= 100) of a student.

输出

For each case you are to output a line giving the percentage of students whose grade is above average, rounded to 3 decimal places.

样例输入

5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81
9 100 99 98 97 96 95 94 93 91

样例输出

40.000%
57.143%
33.333%
66.667%
55.556%

#include<stdio.h>
int main()
{
    int n;
    int a[100][1005];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i][0]);
        int sum=0;
        int avge=0;
        for(int j=1;j<=a[i][0];j++)
        {
            scanf("%d",&a[i][j]);
            sum+=a[i][j];
        }
        avge=sum/a[i][0];
        float k=0;
        for(int j=1;j<=a[i][0];j++)
        {
            if(a[i][j]>avge)
            k++;
        }
        k=k/a[i][0];
        printf("%.3f%%\n",k*100);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40593308/article/details/84499741
今日推荐