**题目:
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?
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***
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int k;
cin>>k;//表示测试的用例数
for(int i=0;i<k;i++){
int a,b;
char c;
cin>>c>>a>>b;
if(c=='+'){
cout<<a+b<<endl;
}else if(c=='-'){
cout<<a-b<<endl;
}else if(c=='*'){
cout<<a*b<<endl;
}else {
if(a%b==0)printf("%d\n",a/b);//这里注意,看清题目意思
else
printf("%.2f\n",(float)a/b);
}
}
return 0;
}
分析:这完全是一道水题,但是里面却有一个坑。就是进行除法的时候,并不是都将结果转换成浮点数。只有当结果不为整数的时候才输出浮点数。如果为整数就证明a对b求余可以为0,记得到正解。