小记:PE了我几次,看不懂。可能是读入字符串读了空串,然后就会多输出一个换行,这样才导致的PE。
思路:switch。注意除法,如果能整除就不留小数。
代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; #define N 100010 #define MAX 1000010 int T, a, b, n; char c[10]; int main() { while(~scanf("%d",&n)) { for(int i = 0; i < n; ++i){ scanf("%s%d%d",c,&a,&b); switch(c[0]){ 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) printf("%.2f\n",a*1.0/b); else printf("%d\n",a/b); break; } //printf("\n");如果是这样加换行就会PE } //printf("\n"); } return 0; }