0
已解决
李致远
高级光能
高级光能
4470 成绩统计(score)经验值:0
题目描述 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<iostream>//哇塞!30分代码!快看!!!
using namespace std;
int a[301][301];
double sum,b[301];
int maxn=-0x3f3f3f3f;
int ans;
int main(){
int m,n,p,q,cur=0;
cin>>n>>m>>p>>q;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
sum+=a[i][j];
maxn=max(a[i][j],maxn);
cur++;
}
cout<<maxn<<" ";
maxn=0;
b[i]=sum*1.0/cur;
sum=0;
cur=0;
}
cout<<endl;
for(int i=1;i<=n;i++){
if((int)b[i]!=b[i])cout<<b[i]<<" ";
else cout<<b[i]<<".0 ";
}
cout<<endl;
int ans1=0,ans2=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]<p)ans1++;
if(a[i][j]>q)ans2++;
}
}
cout<<ans1<<" "<<ans2;
return 0;
}
李致远在2020-08-31 16:50:12追加了内容
找错,找错兄弟们!!!
0
0
胡景波
中级光能
中级光能
for(int j=1;j<=n;j++) { cin>>a[j]; pj[i]=pj[i]+a[j]; if(a[j]>max[i]) { max[i]=a[j]; } if(a[j]<p) sp++; if(a[j]>q) sq++; }
这是统计
0