给定一所学校学生的 C 语言成绩请你统计全班的平均成绩和男生、女生的平均成绩。输入格式:输入首先在第一行中给出一个正整数 N≤10000即全校学生人数。最后 N 行每行按照格式 性别 成绩 给出一位学生的信息。其中 性别 为 1 表示男生0 表示女生;成绩 是一个 0 到 100 之间的整数。输出格式:在一行中依次输出全班的平均成绩、男生的平均成绩、女生的平均成绩。输出小数点后1位数字间有一个空格
#include
using namespace std;
const int N = 10010;
int n; int cnt1, cnt2; //男生和女生的人数 double sum1, sum2, sum; //男生、女生和全班的总成绩
int main() { scanf("%d", &n); for (int i = 0; i < n; i ++ ) { int sex, score; scanf("%d%d", &sex, &score); if (sex) cnt1 ++ , sum1 += score; else cnt2 ++ , sum2 += score; sum += score; }
double avg1 = cnt1 ? (double)sum1 / cnt1 : 0, avg2 = cnt2 ? (double)sum2 / cnt2 : 0, avg = n ? (double)sum / n : 0;
printf("%.1lf ", avg);
if (cnt1) printf("%.1lf ", avg1);
else printf("X ");
if (cnt2) printf("%.1lf", avg2);
else printf("X");
return 0;
}
原文地址: https://www.cveoy.top/t/topic/7yB 著作权归作者所有。请勿转载和采集!