#include<stdio.h>
int main(){ int a,b,c,i,n;double d;char e;while(scanf("%d",&n)!=EOF){ getchar();for(i=1;i<=n;i++){ d=0;scanf("%c %d %d",&e,&a,&b);getchar();//必须吸收掉换行符,像下面这样是不行的,第一个字符会被认为是erter/*
scanf("%d\n",&icase);
for (i=0;i<icase;i++)
{ scanf("%c%d%d",&opera,&num1,&num2);
…… }*/
switch(e){ 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);elseprintf("%d\n",a/b);}break;}}}}注意:看来刚开始理解错题意,只需是除法时才需判断,能除尽,就输出整数,否则小数
//判断是否是整数的方法
if((1.0*a/b-a/b)==0) printf("%d\n",a/b); else //输出格式 printf("%3.2f\n",1.0*a/b); break;