发布网友
共2个回答
热心网友
#include<stdio.h>
#include<math.h>
int main(void)
{
float sum=0.0,avg=0.0,y90=0.0,y60=0.0; /*给变量初始化*/
int num,count,c100,c9,c,c67,c6; /*定义变量*/
num=count=c100=c9=c=c67=c6=0; /*给变量赋值*/
printf("请输入满分:");
scanf("%d",&c100); /******输入满分,加地址符号&c100*/
printf("输入学生成绩以-1结束\n");/******/
while(num>=0) /*统计*/
{
printf("请输入学生成绩:");
scanf("%d",&num); /*******再次输入数据*/
if(num==-1)
break;/********/
sum=sum+num; /*求全班成绩总和*/
count=count+1; /*求全班人数*/
// if(num/c100>=90) /*******不能除以满分啊,那是什么*/
if(num>=90)
c9=c9+1; /*成绩在90分以上的人数统计*/
else
{
if(num>=80 && num<90)
c=c+1; /*成绩在80~90分之间的人数统计*/
else
{
if(num>=60 && num<80)
c67=c67+1; /*成绩在60~80分之间的人数统计*/
else c6=c6+1; /*成绩在60分一下的人数统计*/
} //else2
}//else1
}//while
// scanf("%d",&num); /*再次输入数据*/
// scanf("%d",c100);
//多一个大括号}
avg=sum/count; /*求平均成绩*/
// y90=c9/while(num>0 );/*求优秀率*/
// y60=c6/while(num>0 );/*求合格率*/
/**********没这么写的,我改下******/
//if(num>0)/********是人数,不是分数*/
y90=(float)c9/count*100;/*求优秀率*/
y60=(float)c6/count*100;/*******求合格率,强制转换成float型*/
printf("班级平均成绩为:%f\n",avg); /*输出平均成绩*/
printf("优秀的人数是:%d\n",c9); /*输出成绩在90分以上的人数*/
printf("良好的人数是:%d\n",c); /*输出成绩在80~90分之间的人数*/
printf("合格的人数是:%d\n",c67); /*输出成绩在60~80分之间的人数*/
printf("不合格的人数是:%d\n",c6); /*输出成绩低于60分的人数*/
printf("班级平均成绩为:%f\n",avg); /*输出平均成绩*/
printf("班级优秀率为:%f%%\n",y90);/*输出优秀率*/
printf("班级合格率为:%f%%\n",y60);/*输出合格率*/
return 0;
}
热心网友
#include<stdio.h>
#include<math.h>
int main(void)
{
float sum=0.0,avg=0.0,y90=0.0,y60=0.0; /*给变量初始化*/
int num,count,c100,c9,c,c67,c6; /*定义变量*/
num=count=c100=c9=c=c67=c6=0; /*给变量赋值*/
int StuNum;
int i;
printf("请输入学生个数:");
scanf("%d",&StuNum);
for( i = 1; i <= StuNum; i++)
{
printf("请输入学生成绩:");
scanf("%d",&num); /*输入数字*/
sum=sum+num; /*求全班成绩总和*/
if( num >= 90)
c9=c9+1; /*成绩在90分以上的人数统计*/
else
{
if(num>=80 && num<90)
c=c+1; /*成绩在80~90分之间的人数统计*/
else
{
if(num>=60 && num<80)
c67=c67+1; /*成绩在60~80分之间的人数统计*/
else c6=c6+1; /*成绩在60分一下的人数统计*/
}
}
}
avg=sum*1.0/StuNum; /*求平均成绩*/
y90=c9*1.0/StuNum; /*求优秀率*/
y60=c6*1.0/StuNum; /*求合格率*/
printf("班级平均成绩为:%.2f\n",avg); /*输出平均成绩*/
printf("优秀的人数是:%d\n",c9); /*输出成绩在90分以上的人数*/
printf("良好的人数是:%d\n",c); /*输出成绩在80~90分之间的人数*/
printf("合格的人数是:%d\n",c67); /*输出成绩在60~80分之间的人数*/
printf("不合格的人数是:%d\n",c6); /*输出成绩低于60分的人数*/
printf("班级平均成绩为:%.2f\n",avg); /*输出平均成绩*/
printf("班级优秀率为:%.2f\n",y90);/*输出优秀率*/
printf("班级合格率为:%.2f\n",1-y60);/*输出合格率*/
return 0;
}
改好了 你运行看看 按提示输入 看看有没有什么不好的地方