啊哈磊_编程从这里起步
标题:
为什么while哪里没有运行
[打印本页]
作者:
怪兽大军
时间:
2020-4-23 21:06
标题:
为什么while哪里没有运行
#include <stdio.h>
#include <stdlib.h>
int main()
{
float s=0,score,w;
int n=0;
printf("放入成绩,输入-1结束");
scanf("%f",&score);
while(score=!-1)
{
n++;
s=s+score;
scanf("%d",&score);
}
if(n>0)
{
w=s/n;
}
else{
printf("没有学生成绩");
}
return 0;
}
复制代码
作者:
嘟嘟编程
时间:
2020-5-12 20:37
本帖最后由 嘟嘟编程 于 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;
}
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2