[acm170] 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<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,记得到正解。

发布了27 篇原创文章 · 获赞 17 · 访问量 170

猜你喜欢

转载自blog.csdn.net/weixin_42918559/article/details/104016919