虽然是水题,但还是把我搞晕了- -。
只有 a+(-)b*(除或%)c才需要先计算后面两个
So 其实想清楚了很简单。。。。。。。
#include<stdio.h>
int op(int a,char b,int c){
switch(b){
case '+':
return a+c;
case '-':
return a-c;
case '*':
return a*c;
case '/':
return a/c;
case '%':
return a%c;
}
}
int main(){
int N;
scanf("%d",&N);
while(N--){
char b,d;
int a,c,e;
int l=0,r=0,sum=0;
scanf("%d %c %d %c %d",&a,&b,&c,&d,&e);
if((d=='*'||d=='/'||d=='%')&&(b=='+'||b=='-')){
printf("%d\n",op(a,b,op(c,d,e)));
}else{
printf("%d\n",op(op(a,b,c),d,e));
}
}
return 0;
}