ZOJ 3782 Ternary Calculation
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3782
2014 第十一届浙江省赛 G
题目大意:格式给出算式,计算结果并输出。
题目分析:优先级要注意,另外scanf("");很好用。
code:
#include<stdio.h>
int main()
{
int i,j,t,a,b,c,ans;
char o1,o2;
scanf("%d",&t);
while(t--)
{
scanf("%d%*c%c%*c%d%*c%c%*c%d",&a,&o1,&b,&o2,&c);
if((o1=='+'||o1=='-')&&(o2=='*'||o2=='/'||o2=='%'))
{
switch(o2)
{
case'*':ans=b*c;break;
case'/':ans=b/c;break;
case'%':ans=b%c;
}
switch(o1)
{
case'+':ans+=a;break;
case'-':ans=a-ans;
}
}
else
{
switch(o1)
{
case'+':ans=a+b;break;
case'-':ans=a-b;break;
case'*':ans=a*b;break;
case'/':ans=a/b;break;
case'%':ans=a%b;
}
switch(o2)
{
case'+':ans+=c;break;
case'-':ans-=c;break;
case'*':ans*=c;break;
case'/':ans/=c;break;
case'%':ans%=c;
}
}
printf("%d\n",ans);
}
return 0;
}
PS:居然1wrong!?失败……&