问题标题: 酷町堂:1055   达到平均分的人数

0
0
已解决
熊智晖
熊智晖
高级天翼
高级天翼

1055   达到平均分的人数

经验值:800 时间限制:1000毫秒

题目描述 Description

一次数学期末考试过后,老师想统计一下本班数学成绩达到平均分的人数(满分100)。假设该班级有N名同学,每个同学的数学成绩已知,求数学成绩可以达到平均分的人数。(注:平均分四舍五入,取整)。

输入描述 Input Description

包括两行,所有数据都为整数。
第一行为该班级的人数N(1≤N≤100);
第二行为每位同学的数学成绩,每个数字之间用一个空格分开;(0 ≤ 数学成绩 ≤ 100)。

输出描述 Output Description

包括一行,为一个整数,即该班级数学成绩可以达到平均分的人数。

样例输入 Sample Input

10 65 48 79 63 89 45 81 96 64 89

样例输出 Sample Output

5

#include<iostream>
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int b,c,a[10002],sum=0,cnt=0,cnt2;
int main(){
    cin>>b;
    for(int i=1;i<=b;i++){
        cin>>a[i];
        sum+=a[i];
        cnt++;
    }
    c=(int)(sum*1.0/cnt+0.5);
    for(int i=1;i<=b;i++){
        if(a[i]>c){
            cnt2++;
        }
    }
    cout<<cnt2;
    return 0;
}

66分???


1
已采纳
吕梓瑜
吕梓瑜
初级天翼
初级天翼

cnt不需要,直接除以n就行,sum定义成double型,最后是a[i]>=c等于平均分的也是达到

0
0
王文博
王文博
缔造者之神
缔造者之神

核心:

pjf=sum*1.0/n;
    pjf=(int)(pjf+0.5);
    for(int i=1;i<=n;i++)
    {
        if(a[i]>=pjf)
            cnt++;
    }
    cout<<cnt;

 

我要回答