计算表达式的值
问题描述有些语言中表达式的运算符使用字符串表示,例如用mul代表*,用div代表/,用add代表+,用sub代表-,用mod代表%。
输入
第一行为表达式的个数n。其余n行每行一个表达式,表达式由两个整数及其中间的运算符字符串表示。
输出
输出为n行,每行是对应表达式的值。注意,此处要求的所有运算均为整数运算。
输入样例
5
345 mul 122
3945 div 12
321 add 343
340 sub 211
377 mod 27
输出样例
42090
328
664
129
26
我的代码:
#include<stdio.h>
int main()
{
int i,n,j,a,b,d;
char c;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
d=0;
scanf("%d %c %d",&a,&c,&b);
getchar();
if(c=='mul')
d=a*b;
else if(c=='div')
d=a/b;
else if(c=='add')
d=a+b;
else if(c=='sub')
d=a-b;
else if(c=='mod')
d=a%b;
printf("%d\n",d);
getchar();
}
return 0;
}
哪有问题?还是用其他的方法好?