首页 新闻 会员 周边 捐助

为什么优秀率和合格率算不出来?!

0
悬赏园豆:5 [已解决问题] 解决于 2024-02-17 13:31

cout<<endl;
cout<<"请问班级总人数:";
cin>>zrs;
int cj[zrs+10];
cout<<"请输入每个学生的成绩(按照学号升序排列):";
double sum;
int yx;
int hg;
int dst;
int xst;
for(int i=0;i<zrs;i++){
cin>>cj[i];
sum+=cj[i];
/if(cj[i]>=90){
yx+=1;
}
if(cj[i]>=60){
hg+=1;
}
/
if(dst<cj[i]){
dst=cj[i];
}
if(xst>cj[i]){
xst=cj[i];
}
}
for(int i=0;i<zrs;i++){
if(cj[i]>=90){
yx=yx+1;
}
if(cj[i]>=60){
hg=hg+1;
}
}
cout<<endl;
cout<<"平均分是:"<<sum/zrs<<endl;
cout<<"优秀(分数大于等于90分)率是:"<<(yx/zrs)100<<"%"<<endl;
cout<<"合格(分数大于等于60分)率是:"<<(hg/zrs)
100<<"%"<<endl;
cout<<"最高分:"<<dst<<endl;
cout<<"最低分:"<<xst<<endl;

深秋晨风的主页 深秋晨风 | 初学一级 | 园豆:52
提问于:2024-02-16 20:05
< >
分享
最佳答案
0
printf("请问班级总人数:");
cin>>zrs;
int cj[zrs+10];
printf("请输入每个学生的成绩(按照学号升序排列):");
double sum;
int yx,hg,dst,xst;
for(int i=0;i<zrs;i++){
    cin>>cj[i];
    sum+=cj[i];
    if(dst<cj[i])
        dst=cj[i];
    if(xst>cj[i])
        xst=cj[i];
}
for(int i=0;i<zrs;i++){
    if(cj[i]>=90){
        yx=yx+1;
    }
    if(cj[i]>=60){
        hg=hg+1;
    }
}
printf("平均分是:%.4f\n优秀(分数大于等于90分)率是:%.4f%\n合格(分数大于等于60分)率是:%.4f%\n最高分%d\n最低分%d\n",1.0*sum/zrs,(1.0*yx/zrs)*100.0,(1.0*hg/zrs)*100.0,dst,xst);
收获园豆:5
Vsinger_洛天依 | 菜鸟二级 |园豆:207 | 2024-02-17 11:08

任然不行啊

深秋晨风 | 园豆:52 (初学一级) | 2024-02-17 11:27

@曙光科技: 这样,我给你重构一份代码

Vsinger_洛天依 | 园豆:207 (菜鸟二级) | 2024-02-17 11:28

@曙光科技: 重构完了,汉字你自己加吧

#include<bits/stdc++.h>
using namespace std;
int n,maxm=0,minm=2147483647,sum,ans,sum1,sum2;
signed main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        int x;
        cin>>x;
        if(x>=90) sum1++;
        if(x>=60) sum2++; 
        maxm=max(x,maxm);
        minm=min(x,minm);
        sum+=x;
    }
    printf("%.4f\n",sum*1.0/n);
    printf("%.4f",sum1*1.0/n*100.0);puts("%");
    printf("%.4f",sum2*1.0/n*100.0);puts("%");
    printf("%d\n",maxm);
    printf("%d\n",minm);
}
Vsinger_洛天依 | 园豆:207 (菜鸟二级) | 2024-02-17 11:36

@Vsinger_洛天依: 最小值永远是0

深秋晨风 | 园豆:52 (初学一级) | 2024-02-17 13:28

@Vsinger_洛天依: 好了,谢谢Thanks♪(・ω・)ノ

深秋晨风 | 园豆:52 (初学一级) | 2024-02-17 13:31
其他回答(1)
0

要想获得整数除以整数的小数结果,需要将至少一个操作数转换成浮点类型,如(double)yx/zrs

Jerry_SJTU | 园豆:202 (菜鸟二级) | 2024-02-17 02:11

还是跑不起来

支持(0) 反对(0) 深秋晨风 | 园豆:52 (初学一级) | 2024-02-17 09:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册