题目:从标准输入中读入一个整数算术运算表达式,如5 - 1 * 2 * 3 + 12 / 2 / 2 = 。计算表达式结果,并输出。
要求:
1、表达式运算符只有+、-、*、/,表达式末尾的’=’字符表示表达式输入结束,表达式中可能会出现空格;
2、表达式中不含圆括号,不会出现错误的表达式;
3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
int a1,a2,a3;
char b1,b2,b3;
a1=0;
b1='+';
while (1)
{
scanf("%d %c",&a2,&b2);
while(b2=='*'||b2=='/')
{
scanf("%d %c",&a3,&b3);
if(b2=='*')a2=a2*a3;else a2=a2/a3;
b2=b3;
}
if(b1=='+')a1=a1+a2;
else if(b1=='-')a1=a1-a2;
b1=b2;
if(b1=='='){printf("%d\n",a1);break;}
}
return 0 ;
}