The contest starts now! How excited it is to see balloons floating around. You, one of the best programmers in HDU, can get a very beautiful balloon if only you have solved the very very very... easy problem.
Give you an operator (+,-,*, / --denoting addition, subtraction, multiplication, division respectively) and two positive integers, your task is to output the result.
Is it very easy?
Come on, guy! PLMM will send you a beautiful Balloon right now!
Good Luck!
Input
Input contains multiple test cases. The first line of the input is a single integer T (0<T<1000) which is the number of test cases. T test cases follow. Each test case contains a char C (+,-,*, /) and two integers A and B(0<A,B<10000).Of course, we all know that A and B are operands and C is an operator.
Output
For each case, print the operation result. The result should be rounded to 2 decimal places If and only if it is not an integer.
Sample Input
4
+ 1 2
- 1 2
* 1 2
/ 1 2
Sample Output
3
-1
2
0.50
这道题的题目意思是给你一个数n,代表有n组测试数据,然后接下来的n行有一个字符a和两个整数b,c。字符是加减乘除中的一个,让你输出b和c按a运算的结果。如果结果是小数,保留两位。
思路:这是一道特别水的题,在a为加减乘的时候,最后结果一定是整数,直接输出结果就行,当为除的时候,我们根据b是否能整除c从而判断输出的是整数还是小数。主意加上getchar(),在读入a的时候。
代码如下:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
getchar();
char a;
int b,c;
scanf("%c %d %d",&a,&b,&c);
//对四种运算进行判断
if(a=='+')
printf("%d\n",b+c);
else if(a=='-')
printf("%d\n",b-c);
else if(a=='*')
printf("%d\n",b*c);
else
{
//判断能否整除
if(b%c==0)
printf("%d\n",b/c);
else
{
double d;
d=(double)b/c;
printf("%.2lf\n",d);
}
}
}
return 0;
}