编写一个简单的计算器,实现两个整数的的四则运算。
#include <stdio.h>
void main()
{
int a,b;
char c;
printf("请输入两个数字和运算符号:");
scanf("%d,%c,%d",&a,&b,&c);
fflush(stdin);
c=getchar();
if('+')
printf("%d+%d=%d \n",a,b,a+b);
else if('-')
printf("%d-%d=%d \n",a,b,a-b);
else if('*')
printf("%d-%d=%d \n",a,b,a*b);
else if('/')
printf("%d-%d=%d \n",a,b,a/b);
} 这是我的做法 但是不对~ 可能是getchar 这里出问题了 fflush(stdin)没能按照要求清楚缓存~求助各位大大~这个题目应该怎么做呢~ 有没有好方法呢~ 我错在那里呢~~
----------------解决方案--------------------------------------------------------
scanf("%d,%c,%d",&a,&b,&c);里面别加逗号,加了问题就大了
----------------解决方案--------------------------------------------------------
scanf("%d,%c,%d",&a,&b,&c);我把里面的逗号去掉了 ~ 可是还不对~~
----------------解决方案--------------------------------------------------------
楼主的代码有以下错误:
1,你已经用scanf获得了符号,为什么要加上c=getchar();?
2,如果代码为scanf("%d,%c,%d",&a,&b,&c);那么你输入的时候就要这么输入才有效:1,+,2 必须有逗号,不如写成scanf("%d%c%d",&a,&b,&c);这样在输入的时候只要输入1+2就可以了,不用多加逗号。
以下是我的代码,用dev-c++编译通过:
#include <stdio.h>
main()
{
int a,c;
char b;
printf("请输入两个数字和运算符号:");
scanf("%d%c%d",&a,&b,&c);
if (b=='+')
printf("%d+%d=%d \n",a,c,a+c);
else if(b=='-')
printf("%d-%d=%d \n",a,c,a-c);
else if(b=='*')
printf("%d-%d=%d \n",a,c,a*c);
else if(b=='/')
printf("%d-%d=%d \n",a,c,a/c);
}
----------------解决方案--------------------------------------------------------
还有, if('+') 是什么,没见过,可以这样表示吗?
----------------解决方案--------------------------------------------------------
scanf("%d,%c,%d",&a,&b,&c);里面别加逗号,加了问题就大了
不对!
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
float a,c;
char b;
printf("请输入两个数字和运算符号:");
scanf("%f%c%f",&a,&b,&c);
if (b=='+')
printf("%f+%f=%f \n",a,c,a+c);
else if(b=='-')
printf("%f-%f=%f \n",a,c,a-c);
else if(b=='*')
printf("%f-%f=%f \n",a,c,a*c);
else if(b=='/')
printf("%f/%f=%f \n",a,c,a/c);
}
----------------解决方案--------------------------------------------------------
scanf("%d,%c,%d",&a,&b,&c);里面别加逗号,加了问题就大了
其实也没有什么大问题```就是要注意一下``输入时格式要和scanf里的保持一致
----------------解决方案--------------------------------------------------------
编写一个简单的计算器,实现两个整数的的四则运算。
#include <stdio.h>
void main()
{
int a,c;
char b;
printf("请输入两个数字和运算符号:");
scanf("%d%c%d",&a,&b,&c);
if(b=='+')
printf("%d+%d=%d \n",a,b,a+b);
else if(b=='-')
printf("%d-%d=%d \n",a,b,a-b);
else if(b=='*')
printf("%d-%d=%d \n",a,b,a*b);
else if(b=='/')
printf("%d-%d=%d \n",a,b,a/b);
} 这是我的做法 但是不对~ 可能是getchar 这里出问题了 fflush(stdin)没能按照要求清楚缓存~求助各位大大~这个题目应该怎么做呢~ 有没有好方法呢~ 我错在那里呢~~
楼主懒成这样,看红色部分的符号都没改,粘贴是不是太方便了?
把7,8句删除了,应该能够达到目的.
嵌套没错的.
[此贴子已经被作者于2007-8-31 16:51:23编辑过]
----------------解决方案--------------------------------------------------------