题目描述
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。
每个输入包含一个测试用例,为一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
样例输入
【样例1】
1+2*10-10/2=
【样例2】
32/0=
样例输出
【样例1】
10
【样例2】
ERROR
实现代码如下:
#include<stdio.h>
int main(){
int a,c,flag=0;
char b;
scanf("%d",&a);
while(1){
scanf("%c",&b);
if(b=='='){
if(flag==0){
printf("%d",a);
}else{
printf("ERROR");
}
break;
}else{
scanf("%d",&c);
if(b=='+'){
a=a+c;
}else if(b=='-'){
a=a-c;
}else if(b=='*'){
a=a*c;
}else if(b=='/'&&c!=0){
a=a/c;
}else{
flag=1;
}
}
}
}