我分别用do-while和for写循环结构出现了不同的问题,求大佬告啊
1、do-while
#include<stdio.h>
int main()
{
int a;
char b;
do
{
printf("请输入成绩:");
scanf("%d",&a);
if(90<=a&&a<=100)
printf("A\n");
else
{
if (80<=a&&a<=89)
printf("B\n");
else
{
if (70<=a&&a<=79)
printf("C\n");
else
{
if (60<=a&&a<=69)
printf("D\n");
else
{
printf("不及格\n");
}
}
}
}
printf("是否继续判断(Y/N):");
scanf("%c",&b);
getchar;
}while(b=='Y');
}
最后显示的只有输入的成绩,等级和“是否继续判断(Y/N):”光标在按任意键继续的后面
2、for
#include<stdio.h>
int main()
{
int score;
char grade,b;
int a;
for(;;)
{
printf("请输入成绩");
scanf("%d",&score);
a=score/10;
while(a<0||a>100)
{
printf("数据输入错误,请重新输入");
scanf("%d",&score);
}
switch(a)
{
case 10:printf("A\n");break;
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
case 5:printf("E\n");break;
case 4:printf("E\n");break;
case 3:printf("E\n");break;
case 2:printf("E\n");break;
case 1:printf("E\n");break;
case 0:printf("E\n");break;
}
printf("是否继续判断(Y/N):");
scanf("%c",&b);
if(b=='Y')
if(b=='N')break;
}
return 0;
}
这个是在按完Y后循环的是第一次输入成绩后判断的等级