高级守护
题目链接: 酷町堂:3942
题目描述 De**ion
酷町堂某班级进行了期末考试,满分600分。500分及以上为优秀,400分~ 499分为良好,300~399分为及格,300分以下不及格。
老师要统计学员们的成绩,向计算机输入考试分数,输入-1表示结束。
请统计优秀,良好,及格,不及格的人数以及班级平均分(保留1位小数)。
输入描述 Input De**ion
一行,若干个正整数,以及最后一个数-1,用空格隔开。
输出描述 Output De**ion
五行,前四行每行一个整数(包括0),分别表示优秀,良好,及格,不及格人数。
第五行为一个实数,表示班级平均分(保留1位小数)。
样例输入 Sample Input
550 600 450 430 340 250 220 500 520 330 -1
样例输出 Sample Output
4 2 2 2 419.0
我的回答:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int a;
int sum=0,sum1=0,sum2=0,sum3=0,sum4=0,cnt=0;
while(true){
cin>>a;
if(a==-1){
break;
}sum++;
cnt+=a;
if(a>=500){
sum1++;
}else if(a>=400&&a<=499){
sum2++;
}else if(a>=300&&a<=399){
sum3++;
}else if(a>=200&&a<=299){
sum4++;
}
}cout<<sum1<<endl<<sum2<<endl<<sum3<<endl<<sum4<<endl;
cout<<setprecision(1)<<fixed<<(double)cnt/sum;
return 0;
}