给定一所学校学生的体育成绩,请你统计全班的平均成绩和男生、女生的平均成绩。
输入格式:
输入首先在第一行中给出一个正整数 N(≤10000),即全校学生人数。最后 N 行,每行按照格式 性别 成绩
给出一位学生的信息。其中 性别
为 1 表示男生,0 表示女生;成绩
是一个 0 到 100 之间的整数。
输出格式:
在一行中依次输出全班的平均成绩、男生的平均成绩、女生的平均成绩。输出小数点后1位,数字间有一个空格分隔。
注意:如果全是男生或全是女生,则缺少的性别就没有办法计算平均分,相应的位置应该输出一个 X
表示没有。
输入样例 1:
5
1 97
0 91
0 98
1 95
1 90
输出样例 1:
94.2 94.0 94.5
输入样例 2:
5
0 97
0 91
0 98
0 95
0 90
输出样例 2:
94.2 X 94.2
C++
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
int nan=0;
int sumnan=0,sum=0;
for(int i=0;i<a;i++){
int c,d;
cin>>c>>d;
if(c==1){
nan++;
sumnan+=d;
}
sum+=d;
}
if(nan==0){
printf("%.1f X %.1f",sum*1.0/a,(sum-sumnan)*1.0/(a-nan));
}else if(nan == a){
printf("%.1f %.1f X",sum*1.0/a,sumnan*1.0/nan);
}else{
printf("%.1f %.1f %.1f",sum*1.0/a,sumnan*1.0/nan,(sum-sumnan)*1.0/(a-nan));
}
return 0;
}