HDOJ 1170 Balloon Comes! 超详细

HDOJ 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

题意简单说就是输入运算符和两个数之后把运算结果输出。这道题注意注意两点就好了,第一处理好回车,如果处理不好多余回车的话程序会异常,第二浮点运算结果输出方式,不然一直Wrong Answer。我刚开始也是忽略了第二点,导致一直错误。后来才注意到的。

#include<stdio.h>

int main()
{
    int a, b, n;
    char c;
    scanf("%d", &n);
    getchar();//处理多余换行
    while (n--)
    {
        scanf("%c %d %d", &c, &a, &b);
        getchar();//处理多余换行
        switch (c)
        {
        case '+':printf("%d\n", a + b); break;
        case '-':printf("%d\n", a - b); break;
        case '*':printf("%d\n", a * b); break;
        case '/':
        {
        /*根据题意算除法的时候有可能会有小数点,如果有小数点
        那就输出点后两位,如果被整除那么输出整数,这时我们就需要两种输出格式了。*/
            if (a / b * b != a)//判断a能否被b整除
                printf("%.2lf\n", (double)a / b);
            else
                printf("%d\n", a / b);
        }
        break;
        }
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值