问题标题: 酷町堂:4470 成绩统计(score)

0
0
已解决
李博然
李博然
资深守护
资深守护

4470   成绩统计(score)经验值:400

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

合肥市某学校某年级共有 m 个班,每个班级都有 n 位学生。某次考试结束后,知道了每位学生的总分(整数),现在还要再统计一些数据:
1)每个班级的最高得分
2)每个班级的平均得分(四舍五入,保留一位小数)
3)所有学生总分低于一个分值 p 的人数和高于一个分值 q 的人数。

输入描述 Input Description

输入数据共 m+1 行。第一行是 4 个由空格分隔的正整数 m、n、p、q,接下来 m 行,每行共有 n 个由空格分隔的正整数,表示每一位学生的总分

输出描述 Output Description

共 3 行,第一行 m 个由空格分隔的正整数,对应每个班级的最高分;第二行 m 个由空格分隔的数值,对应每个班级的平均分;第三行 2 个由空格分隔的正整数,分别表示低于 p 的人数和高于 q 的人数。

样例输入 Sample Input

3 4 150 290 260 300 140 190 290 280 260 270 190 280 300 190

样例输出 Sample Output

300 290 300 222.5 275.0 240.0 1 2

数据范围及提示 Data Size & Hint

数据范围:
1≤m,n≤100 0≤每个学生总分≤300

#include <bits/stdc++.h>
using namespace std;
int n, m, d[105][105], p, q, a[105], c[105], sump, sumq;
double b[105], sumb;
int main()
{
    cin >> m >> n >> p >> q;
    for(int i=0; i < m; i++){
        sumb = 0;
        for(int j=0; j<n; j++){
            cin >>d[i][j];
            a[i]=max(a[i], d[i][j]);
            sumb += d[i][j];
            if(d[i][j] < p) sump++;
            if(d[i][j] > q) sumq++;
        }
        b[i] = sumb / n;
    }
    for(int i=0; i < m - 1; i++){
        cout << a[i] << " ";
    }
    cout << a[m-1] << endl;
    for(int i=0; i < m - 1; i++){
        cout << fixed << setprecision(1) << b[i] * 1.0 << " ";
    }
    cout << fixed << setprecision(1) << b[m-1] * 1.0 << endl;
    cout << sump << " " << sumq;
    return 0;
}

这题哪里错了? 只有80分


0
已采纳
陈振轩
陈振轩
高级光能
高级光能

四舍五入输出

(说实话这cout看不懂xD)

0
0
钱卓梁
钱卓梁
初级守护
初级守护


int zg[105];
double pjf[105];
int maxn,sum,cnt1,cnt2;
int main(){
    int m,n,p,q,a;cin>>m>>n>>p>>q;
    for(int i=1;i<=m;i++){//班级
    sum=0,maxn=0;
    for(int j=1;j<=n;j++){
    cin>>a;
    maxn=max(maxn,a);sum+=a;
    if(a<p){
    cnt1++;
    }
    if(a>q){cnt2++;}
    }
    zg[i]=maxn;
    double pj=sum*1.0/n;
    pjf[i]=int(pj*10+0.5)/10.0;//四舍五入保留一位小数
}    
    for(int i=1;i<=m;i++){
    cout<<zg[i]<<" ";
    }
    cout<<endl;
    for(int i=1;i<=m;i++){
    printf("%.1f ",pjf[i]);
    }
    cout<<endl;
    cout<<cnt1<<" "<<cnt2;
 

我要回答