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;
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);
任然不行啊
@曙光科技: 这样,我给你重构一份代码
@曙光科技: 重构完了,汉字你自己加吧
#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_洛天依: 最小值永远是0
@Vsinger_洛天依: 好了,谢谢Thanks♪(・ω・)ノ
要想获得整数除以整数的小数结果,需要将至少一个操作数转换成浮点类型,如(double)yx/zrs
还是跑不起来