Problem A: 成绩的比例
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 888 Solved: 124
[Submit][Status]
Description
输入若干个整数,其中在[0,100]内的为合法的百分制成绩,90及90分以上为A,80~89为B,70~79为C,60~69为D,0~59为E。编程统计A、B、C、D、E五个等级的成绩在所有百分制成绩中的比例。
Input
输入若干个整数,直到EOF为止。
Output
输出5行,每行的格式为:
?:data
其中第1至5行的“?”分别为A、B、C、D、E,data是百分比,输出宽度为6位,小数点后2位。
Sample Input
100 90 80 70 60 50 40 30 20 10
Sample Output
A: 20.00% B: 10.00% C: 10.00% D: 10.00% E: 50.00%
HINT
没有合法成绩时,输出什么?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a;
double A=0,B=0,C=0,D=0,E=0,R=0,z,x,v,n,m;
while(scanf("%d",&a)!=EOF)
{
if(a>0&&a<=100)
{
R++;
if(a>=90&&a<=100)
A++;
else if(a>=80&&a<90)
B++;
else if(a>=70&&a<80)
C++;
else if(a>=60&&a<70)
D++;
else if(a>=0&&a<60)
E++;
}
else
continue;
}
if(R==0)
return 0;
else
{
z=A/R*100;
x=B/R*100;
v=C/R*100;
n=D/R*100;
m=E/R*100;
printf("A: %5.2lf%%\n",z);
printf("B: %5.2lf%%\n",x);
printf("C: %5.2lf%%\n",v);
printf("D: %5.2lf%%\n",n);
printf("E: %5.2lf%%\n",m);
}
return 0;
}