题目1.2.5 Ballon 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
 

 

一. 题目核心:

  除法运算时,输出结果为小数时,对输出结果的处理。

二. 总结知识点:

1.对cout输出结果小数点位数的控制。

先声明头文件#include<iomanip>

cout.precision(n);//n为输出结果小数点右边保留的位数

cout.setf(ios::fixed);

cout<<Result;

2.掌握两个运算符

%-->取余运算,可用来判断一个数是否可以整除另一个数。

/-->取模运算,如果结果需要保留小数,除数和被除数需要有一个为float或者double类型。

3.实现N个案例的输入输出。

先输入一个正整数N,表示测试案例的个数

然后通过判断语句去判断输入的测试案例数目是否达到N,若未达到,继续输入测试案例,否则退出程序。

三. 题目代码:

#include <iostream>
#include <iomanip>
#include "math.h"
using namespace std;
int main()
{
    int T,A,B;
    char C;
    int i=0;
    cin>>T;
    while(i != T) {
        cin>>C;
        cin>>A>>B;
        
        switch (C) {
            case '+':
                cout<<A+B;
                break;
            case '-':
                cout<<A-B;
                break;
            case '*':
                cout<<A*B;
                break;
            case '/':
                if(A%B!=0)
                {
                    cout.precision(2);
                    cout.setf(ios::fixed);
                    cout<<float(A)/B;
                }
                else
                    cout<<A/B;
                break;
            default:
                break;
        }
        i++;
        cout<<"
";
    }

}
技进乎艺,艺进乎道
原文地址:https://www.cnblogs.com/weekend/p/4954917.html