Balloon Comes!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20356 Accepted Submission(s): 7673
Problem Description
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?
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
解题思路:水。直接的就是简单的四则运算。只是要注意,最大的坑在于:当两数相除时。若能整除,则要输出整数,否则输出两位小数。
AC代码:
#include <iostream> #include <cstdio> using namespace std; int main(){ // freopen("in.txt", "r", stdin); int n, a, b; char p[2]; scanf("%d", &n); for(int i=0; i<n; i++){ scanf("%s", p); scanf("%d%d", &a, &b); if(p[0] == '-') printf("%d ", a-b); else if(p[0] == '+') printf("%d ", a+b); else if(p[0] == '*') printf("%d ", a*b); else{ if(a%b) printf("%.2f ", a*1.0/b); else printf("%d ", a/b); } } return 0; }