HDU-1170的解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1170

题意:要求输入几个案例,每个案例包含操作符(+,-,*,/),操作数(两个整数)。现在要求分别输出每个案例的操作结果。(这是一道简单的题,但是花费我较多的时间才通过了它,嗯......主要没弄明白一点,然后就陷入死循环。)

#include<stdio.h>
int main()
{
   int t,a,b;
   char c;
   scanf("%d",&t);
   while(t--)
   {
      getchar();标准输入其实是先放在一个缓冲区,getchar()会保留缓冲区中的换行符,如果下面还需要输入,那么这个换行符可能就会影响下面的输入,所以要消除干扰;
      scanf("%c%d%d",&c,&a,&b);
      if(c=='+')
      {
         printf("%d\n",a+b);
      } 
      else if(c=='-')
      {
         printf("%d\n",a-b);
      } 
      else if(c=='*')
      {
         printf("%d\n",a*b);
      }
      else
      {    
         if(a%b!=0)
            printf("%.2f\n",(float)a/(float)b);
          else
            printf("%d\n",(int)a/b);
      }
 }
 return 0;
}

posted @ 2018-05-02 16:52  里昂静  阅读(143)  评论(0编辑  收藏  举报