关于break的一个例子,有点小问题?

来源:百度知道 编辑:UC知道 时间:2024/06/20 16:41:34
我想这样实现程序:如果我输入的数在0-100范围之内就结束main函数,否则要求重新输入。是不是应该加break语句,但是我不知道该加再哪里?

/*1.输入一个分数,以百分制判断这个分数及格还是不及格*/
#include "stdio.h"
int main(void)
{
int score,loop;
printf("请输入你的成绩(分数线应为0-100分):");
loop:
scanf("%d",&score);

if(0<=score&&score<60)
printf("你的成绩不及格,请继续努力!\n");
else if(60<=score&&score<=100)
printf("恭喜你,考试及格了!\n");

else
printf("超出允许输入的范围,请重新输入你的分数\n");
goto loop;/*返回,并重新输入成绩*/
return 0;
}
1楼的你好,你的程序我有2个问题要问:
1.为什么要给score赋初值呢,不是已经设置由自己输入了嘛。
2.while(1)的意思是什么?
谢谢了。

goto语句还是少用为妙~

/*1.输入一个分数,以百分制判断这个分数及格还是不及格*/
#include "stdio.h"
int main(void)
{
int score=-1,loop;
printf("请输入你的成绩(分数线应为0-100分):");
while(1)
{
scanf("%d",&score);
if(score<0 || score>100)
printf("超出允许输入的范围,请重新输入你的分数\n");
else if(0<=score&&score<60)
{printf("你的成绩不及格,请继续努力!\n"); break;}
else if(60<=score&&score<=100)
{printf("恭喜你,考试及格了!\n"); break;}
}

return 0;
}

补充:
1.不用赋初值也可以的,我刚才本来想用另外的方法,忘了改过来。。。
2.while(1)是死循环,只有满足循环体里的某些条件转而执行break;语句时才可以跳出该循环