hdu-Balloon Comes!

hdu-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
 

这个题目是个十足的水题,但是我今天却在这个题目上卡壳了。不过通过这道题,我对于 %c这个符号有了新的认识。
先附上我最后ac的代码吧
#include<stdio.h>
int main()
{
    int t,a,b,i;
    char c;
    scanf("%d",&t);
    while(t--)
    {
        getchar();//注意这个getchar(),这是千万少不得的,我就是栽在这个上面!!!!!
        scanf("%c %d %d",&c,&a,&b);//%c放在一个位置时,前面必须要有getchar(),不然他会吃掉一个回车符。会导致程序不输出结果。但是如果%c在第二或者后面的位置,那就不需要getchar了
        if(c=='+')
            printf("%d\n",a+b);
        if(c=='-')
            printf("%d\n",a-b);
        if(c=='*')
            printf("%d\n",a*b);
        if(c=='/')
        {
            if(a%b==0)printf("%d\n",a/b);
            else
               printf("%.2f\n",(float)a/b);
        }
    }
    return 0;
}



你可能感兴趣的:(hdu-Balloon Comes!)