杭电1170 Balloon Comes

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 <cstdlib>
#include<iomanip>
#include <iostream>

using namespace std;
void f(char optr,int a,int b)
{
     switch(optr)
     {
         case '+':cout<<a+b<<endl;break;
         case '-':cout<<a-b<<endl;break;
         case '*':cout<<a*b<<endl;break;
         case '/':if(a%b==0) cout<<a/b<<endl;//能整除
                  else cout<<fixed<<setprecision(2)<<1.0*a/b<<endl;//不能整除
                 break;
     }
}
int main(int argc, char *argv[])
{
    char optr;
    int a,b,n;
    cin>>n;
    while(n--)
    {
        cin>>optr>>a>>b;
        f(optr,a,b);
    }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

原文地址:https://www.cnblogs.com/wft1990/p/4298185.html