ZOJ 3782 Ternary Calculation

Description

Complete the ternary calculation.

Input

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:

There is a string in the form of "number1operatoranumber2operatorbnumber3". Each operator will be one of {'+', '-' , '*', '/', '%'}, and each number will be an integer in [1, 1000].

Output

For each test case, output the answer.

Sample Input

5
1 + 2 * 3
1 - 8 / 3
1 + 2 - 3
7 * 8 / 5
5 - 8 % 3

Sample Output

7
-1
0
11
3
Note

The calculation "A % B" means taking the remainder of A divided by B, and "A / B" means taking the quotient.


题目大意就是优先级问题:

#include<stdio.h>
#include<string.h>
int main()
{
	int a1[4],n;
	char c[3];
	while(~scanf("%d",&n))
	{while(n--)
	{
	
		int s,m,o,k,l,i;
		s=m=o=k=0;
		scanf("%d %c %d %c %d",&a1[0],&c[0],&a1[1],&c[1],&a1[2]);
		if((c[0]=='+'||c[0]=='-')&&(c[1]=='*'||c[1]=='/'||c[1]=='%'))	
		{
			if(c[1]=='*')
		     s=a1[1]*a1[2];
			else if(c[1]=='/')
			s=a1[1]/a1[2];
			else s=a1[1]%a1[2];
			if(c[0]=='+')
			s+=a1[0];
			else
			s=a1[0]-s;
			printf("%d\n",s);
		}
		else	
		{
			if(c[0]=='+')
			s=a1[1]+a1[0];
			else if(c[0]=='-')
			s=a1[0]-a1[1];
			else if(c[0]=='*')
			s=a1[0]*a1[1];
			else if(c[0]=='/')
			s=a1[0]/a1[1];
			else s=a1[0]%a1[1];
			if(c[1]=='+')
			s+=a1[2];
			else if(c[1]=='-')
			s-=a1[2];
			else if(c[1]=='*')
			s*=a1[2];
			else if(c[1]=='/')
			s/=a1[2];
			else s=s%a1[2];
			printf("%d\n",s);
		}
	}
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值