#include<stdio.h>
int main()
{
int c,a;
char b;
scanf("%d",&c);
if(c==0){
b=getchar();
switch(b)
{
case'A':printf("[90,100]"); break;
case'B':printf("[80,89]"); break;
case'C':printf("[70,79]"); break;
case'D':printf("[60,69]"); break;
case'E':printf("[0,59]"); break;
}
}
else if(c==1){
scanf("%d",&a);
if(100>=a&&a>=90)printf("A");
else if(89>=a&&a>=80)printf("B");
else if(79>=a&&a>=70)printf("C");
else if(69>=a&&a>=60)printf("D");
else if(59>=a&&a>=0)printf("E");
}
return 0;
}
求解各位大神,刚学c语言不知道为什么没有输出,程序没报错,救救
孩子 题目是编写一个程序。 根据输入的条件变量c输出相应的结果:
若c = 0,则按照输入的等级输出相应的分率。
若c = 1,则按照输入的分比的进一次等级。
假设成绩为百分制,'A' : [90,100],'B' : [80,89],'C' : [70,79],'D' : [60,69],'E' : [0,59]。
输入样例 0 A输出样例[90,100]
可以的非常不错
额给个联系方式把 我教你
是输入缓冲区,当你输入0后,还会残留一个回车符'\n'在输入缓冲区中,然后你再b = getchar(),直接将输入缓冲区中的回车符读给了b,所以导致直接跳过了。
解决办法,最简单的办法再加一个b = getchar()即可。第一个b = getchar()将回车符读取,第二个b = getchar()才停下来等待用户输入。