FJNU.1518
PKU.2350
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
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
Sample Output
40.000%
57.143%
33.333%
66.667%
55.556%
Source
28 September, 2002 - Waterloo
My Program
#include<iostream>
using namespace std;
int main()
...{
int c,n,s;
int i,j;
double a;
int *score;
double *p;
cin>>c;
p=new double[c];
for(i=0;i<c;i++)
...{
cin>>n;
score=new int[n];
a=0;
for(j=0;j<n;j++)
...{
cin>>score[j];
a+=score[j];
}
a/=n*1.0;
s=0;
for(j=0;j<n;j++)
if(score[j]*1.0>a)
s++;
p[i]=(s*1.0)/(n*1.0);
delete []score;
}
for(i=0;i<c;i++)
...{
printf("%.3lf",p[i]*100);
cout<<"%"<<endl;
}
delete []p;
return 0;
}YOYO's Note:
计算平均数,并查找在平均数以上的占的百分比。
动态申请空间浪费了些时间……
本文介绍了一个程序,该程序用于计算班级中超过平均分数的学生所占的百分比。输入包括多组测试数据,每组包含班级人数及每位学生的成绩,输出则是每组数据中超过平均分的学生比例。
510

被折叠的 条评论
为什么被折叠?



