C语言:计算全班平均成绩,及统计各分数段人数的程序问题

#include<stdio.h>intmain(void){floatsum=0.0,avg=0.0;intnum,count,c9,c89,c78,c67,c6;nu... #include<stdio.h>int main(void){ float sum=0.0,avg=0.0; int num,count,c9,c89,c78,c67,c6; num=count=c9=c89=c78=c67=c6=0; scanf("%d",&num); while(num>0 && num<101); { sum=sum+num; count=count+1; if(num>=90) c9=c9+1; else { if(num>=80 && num<90) c89=c89+1; else { if(num>=70 && num<80) c78=c78+1; else { if(num>=60 && num<70) c67=c67+1; else c6=c6+1; } } } scanf("%d",&num); } avg=sum/count; printf("全班平均成绩为:%f\n",avg); printf("90分以上的(包括90分)的人数是:%d\n",c9); printf("80~90分(包括80分)的人数是:%d\n",c89); printf("70~80分(包括70分)的人数是:%d\n",c78); printf("60~70分(包括60分)的人数是:%d\n",c67); printf("60分以下的人数是:%d\n",c6); return 0;}这段程序编译和连接都没问题,但是在执行的时候输入0~101之间的数回车之后就没办法再输入数据,如果先输入一个负数,回车,再输入一个0~101的数回车就直接返回结果了!请问这是什么问题? 展开
 我来答
听不清啊
高粉答主

2019-03-20 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>
int main(void)
{ float sum=0.0,avg=0.0;
  int num,count,c9,c89,c78,c67,c6;
  num=count=c9=c89=c78=c67=c6=0;
  scanf("%d",&num);
  while(num>=0 && num<101) //这里不能有分号,否则就进入死循环了。另外,还应当允许为0 
  { sum=sum+num;
    count=count+1;
    if(num>=90) c9=c9+1;
    else
    { if(num>=80 && num<90) c89=c89+1;
      else
      { if(num>=70 && num<80) c78=c78+1;
        else
        { if(num>=60 && num<70) c67=c67+1;
          else c6=c6+1;
        }
      }
    }
    scanf("%d",&num);
  }
  avg=sum/count;
  printf("全班平均成绩为:%f\n",avg);
  printf("90分以上的(包括90分)的人数是:%d\n",c9);
  printf("80~90分(包括80分)的人数是:%d\n",c89);
  printf("70~80分(包括70分)的人数是:%d\n",c78);
  printf("60~70分(包括60分)的人数是:%d\n",c67);
  printf("60分以下的人数是:%d\n",c6);
  return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式