c语言如何在数学表达式中隔离出运算符号

来源:百度知道 编辑:UC知道 时间:2024/06/20 01:21:53
我想做个简单的计算器,输入数学表达式,计算显示出结果,在表达式中如何把运算符号和数字分离开,例如输入“1+2”,如何分离出m=1,c=‘+’,n=2.
请高手指点。在线等

全部按字符读入,加一个判断:
如果字符c是0~9,则result=c-'0';
再按符号判断+ -×、
另:
你要做到什么程度?是否考虑运算优先级,括号,小数,...

你可以这样输出scanf("%d%c%d",&m, &c, &n);
这样就可以输入两个数。m,n
然后把
c用switch(c)case'+'的时候。sum=m+n;
其他的同理。
楼主有疑问的话可以直接来hi我

使用gets()函数以字符串形式读入吧
然后对读入的数据进行处理
在48~57范围内的全部减去48 并分别合成2个整数
如果不是 就判断是42 43 45 47中的哪一种
分别代表* + - /
然后就可以进行运算了

有个小技巧,就是输入的时候,数字输入完,打个空格,然后输入符号,再输入下一个数字。
比如说:
#include<stdio.h>
int main()
{
int a,b;
int m[2];
scnaf("%d %s %d",&a,m,&b);
return 0;
}
这样就可以直接分离开来啦!

直接scanf("%d%c%d",&a,&ch,&b)就可以输入1+2了

可以上谷歌查