本帖最后由 嘟嘟编程 于 2020-5-13 13:15 编辑
因为while的执行规则是先判断表达式,再执行。表达式是直到表达式为假才跳出循环。你判断是否不等于-1,如果你输入0、1、2、3、4……第一次表达式为假,循环自然就没有执行了
改正后的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
float s=0,score,w;
int n=0;
printf("放入成绩,输入-1结束");
scanf("%d",&score);
while(score==-1) //此处改成==
{
n++;
s=s+score;
scanf("%d",&score);
}
if(n>0)
{
w=s/n;
}
else{
printf("没有学生成绩");
}
return 0;
}
|