无效输入 不影响循环总个数!咋办?谢谢了!

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:29:38
#include <stdio.h>
main ()
{ int n=1;
float score;
while(n<=30)
{ printf(Enter a score:\n");
scanf("%f",&score);
if(score>=60.0)
printf("passed\n");
else printf("failed\n");
n++;
}
}

老师说这个程序有缺陷,让改成一个新的程序 要求:成绩的取值范围0-100分;当输入的值不在0-100之间时输出无效,并且n值不叠加,继续能够输入,输入的总数不变,还是30个成绩!请问我给咋改,谢谢了!

#include <stdio.h>
main ()
{ int n=1;
float score;
while(n<=30)
{ printf(Enter a score:\n");
scanf("%f",&score);
if(score<0||score>100)
continue;
if(score>=60.0)
printf("passed\n");
else printf("failed\n");
n++;
}
}

#include <stdio.h>
main ()
{ int n=1;
float score;
while(n<=30)
{
printf(Enter a score:\n");
scanf("%f",&score);
if(score>=60&&score<=100)
printf("passed\n");
else
if(score<60&&score>=0)
printf("failed\n");
else
continue;
n++;
}
}
试试吧,应该可以。