初学c语言,编了一段小程序,就是计算简单的四则运算,弄了半天终于没问题可以运行了,但是运行结果不对,

程序如下:
#include<stdio.h>
void main()
{
float a,b,y;
char ch;
printf("欢迎使用迷你计算器\n");
scanf("%f,%c,%f",&a,&ch,&b);
switch(ch)
{
case'+':y=a+b;break;
case'-':y=a-b;break;
case'*':y=a*b;break;
case'/':y=a/b;break;
}
printf("%f%c%f=%f\n",a,ch,b,y);
}
运行后,进入输入界面我输入1+2可是结果输出的是混乱的东西。问题出在什么地方呢?请大家给我指点一下。还有在输入界面输入的时候是“1回车 +回车 2回车”还是直接输入1+2呢

输入时是:1,+,2回车这样就对了
别外case 后面一定要有空格即case '+':y=a+b;break;
case '-':y=a-b;break;
case '*':y=a*b;break;
case '/':y=a/b;break;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-02
#include<stdio.h>
void main()
{
float a,b,y;
char ch;
printf("欢迎使用迷你计算器\n");
scanf("%f%c%f",&a,&ch,&b);
switch(ch)
{
case'+':y=a+b;break;
case'-':y=a-b;break;
case'*':y=a*b;break;
case'/':y=a/b;break;
}
printf("%f%c%f=%f\n",a,ch,b,y);
}
第2个回答  2011-12-02
scanf("%f,%c,%f",&a,&ch,&b); 这句要求你输入格式为:1,+,2回车
如果想输入1+2回车得到结果,这句改为:
scanf("%f%c%f",&a,&ch,&b);
第3个回答  2011-12-02
看这条句子scanf("%f,%c,%f",&a,&ch,&b);
你的输入方式应该为为‘1,+,2’。
第4个回答  2011-12-02
输入时要输入1,+,2回车,就是scanf里面的东西,有什么输什么,建议把逗号去了,然后运行时直接输入1+2回车就好了。
第5个回答  2011-12-03
主要错在输入语句了,你把scanf("%f,%c,%f",&a,&ch,&b);中"%f,%c,%f"的逗号去掉就OK了,输入不需要逗号的。
相似回答