那位大神帮我检查一下我编的程序哪里有问题?下面是题目

【实验内容】
按下表规则,将输入的五分制成绩转换成百分制输出。程序以4_4.c命名本程序并上交。
输入 五分制字符 5+ 5 5- 4+ 4 4- 3 2 1
输出 百分制数值 100 90 85 80 75 70 60 <60 <60
要有输入错误提示。

# include<stdio.h>
int main (void)
{
char shuzhi,fuhao;
scanf("%c","%c",&shuzhi,&fuhao);
printf("你的成绩\n");
switch(shuzhi)
{
case'5':
switch(fuhao)
{
case('+'):printf("成绩为100分");break;
case('-'):printf("成绩为85分");break;
case('\r'):printf("成绩为90分");break;
}
break;
case'4':
switch(fuhao)
{
case('+'):printf("成绩为80分");break;
case('-'):printf("成绩为70分");break;
case('\r'):printf("成绩为75分");break;
}
break;
case'3':printf("成绩为60分");break;
case'2':printf("成绩为<60分");break;
case'1':printf("成绩为<60分");break;
default:printf("输入格式错误请重新输入\n");
}
return 0;
}

输入部分有一个问题
scanf("%c","%c",&shuzhi,&fuhao);
这样写的话,用户在输入时必须也将逗号输入。否则变量内的值与想要得到的值不符(你把变量打印出来就看到了。)

建议采用%s输入符,一次输入一个字符串追问

照你说的改了一下,但是为什么他不执行之后的switch语句?

追答

你改完后的代码贴上来看看

温馨提示:内容为网友见解,仅供参考
无其他回答

我是c语言小白,问问大神帮我看看编写的简单程序这哪里出错了?
表面上看没有任何问题,但是实际上输入代码时有没有注意过全角,半角方面的问题:同样的代码:#include<stdio.h> 输入代码时忽视输入法隐藏的错误 表面上看都是一样的代码,但是第二行就有错误,是全角和半角的不同,再看:正确编译运行 所以你的代码没有任何问题,但是要注意代码输入的方法。以前回答...

哪位大神帮我看一下这个程序哪里错了? C语言问题,输入一个整数,输出...
void main(){ int a=0;b=0;c=o;d=0;e=0;f=0;g=0;h=0;i=0;j=0;k=0; \/\/ 变量声明之间要用逗号,非分号;int figure[a]; \/\/声明了一个空数组,后面scanf的时候会出错 scanf("%d",&a);for(i=0;i

哪位大神能帮我看看电脑这个是什么问题,开机后一到二分钟就出现_百度知 ...
蓝屏的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等。解决办法:1、病毒的原因。使用电脑管家杀毒。2、 内存的原因。用橡皮擦把内存条的金手指擦拭一下,把氧化层擦掉,确保内存条安装、运行正常。3、 机箱不清洁.CPU风扇积灰太多不能正常运行,造成CPU温度过高,用毛刷、电吹风将机箱内壁、CPU风扇、显...

哪位大神帮忙解决一下这个MATLAB问题,我是小白,下面是程序和它出错的...
程序出错的地方是:(1)ode23函数书写格式错误。[t,u]=ode23('lin',[t0tf],u0); 应该为 [t,u]=ode23(@lin,[t0tf],u0);(2)自定义函数书写格式错误。uprim=uprim'; 应该为 uprim=uprim(:);修改后运行可以得到如下结果。

大神帮我看看这个MATLAB二重积分程序哪里有错啊
int(2*0.89*sqrt(1-(y-0.6)^2\/0.36))后面的那个右括号是多余的,这样写就直接把int函数给封闭了,后面的参数都根本对不上号了(相应的,后面又少了一个括号,应该是因为语法检查不能通过你改的吧)。正确的表达式是:>> int(int(2*0.89*sqrt(1-(y-0.6)^2\/0.36),y,2.45*0....

求单片机大神帮我看看这个程序哪里有问题?提示的是: error C141: syntax...
void main(){ LCD_Reset();Delay();CharPos(uchar 0,uchar 1); \/\/这里错了,改为CharPos(0,1);WriteDDR('A');while(1);}

哪位大神帮我看看,我的程序怎么显示不出hello
比如 public class HelloWorld{ ...那么文件名一定只能是HelloWorld.java,看仔细了!2、你的程序中有main方法吗?参数什么的对吗?main方法的声明应该是这样子的:public static void main(String[] args)事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字...

...显示具有n行的杨辉三角形。下面是我编的程序,哪里有问题_百度...
if(j=0||i==j)改成if(j==0||i==j),j=0是赋值语句

...下面是我编的程序,大神帮忙看看哪里出错了。
你的程序都是圆弧有问题,第一个起点起z2,x0.终点是x4z2这个不对后面的也是圆弧起点和终点的问题

编程大神帮我看看这个程序为什么有问题(VB程序)?
定时器函数中 timer1_time(),不要直接使用n,而是使用一个隐藏的文本框来保存n,不同函数中n是不相通的。

相似回答