用C语言实现四则运算,没有括号的情况

有什么比较简单的方法
如果是多个数的混合运算而不仅仅是两个数之间的加减乘除该怎么弄

如果是1+2,3-1,4/3之类的话可以很简单就做出来
就是将表达式存入字符数组,然后用switch语句识别第二个字符
比如
char str[4];
scanf("%s",str);
switch(char[1])
{
case '+':
printf("%d\n",str[0]+str[2]);
break;
case ......
}
如果是更复杂的,比如3-4/3
这里就有优先级的判断
这就要编译技术的知识了
可以先写出文法,再用LR分析法或者LL(1)分析,识别成一棵语法树,再计算
也可以不写文法,直接用算符优先分析法(推荐) ,直接可以算出结果
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-07
直接输入+-*/不就完了例如
a=a+1
b=1+1

这个也简单 比如a=(1+2)*2+1
可以表示为
a=1+2
a=a*2
a=a+1
第2个回答  2012-07-07
直接用字符存符号,再判断符号是加、减、乘、除中的哪一个。再用程序实现就行。
第3个回答  2012-07-07
直接用函数调用计算机里面的计算器模块