Problem B: 只有一个二元运算符的表达式运算
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 12734 Solved: 5441
[Submit][Status][Web Board]
Description
编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Input
每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。测试样例不存在除数为0的情况。
输入以a和b为0,且用一个空格分开结束。
Output
每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。
Sample Input
33+5 8*9 2.2 1-6 17/3 9%3 0 0
Sample Output
38 72 invalid op -5 5 0
HINT
教材上有非常相似的例题可以参考。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
char c;
while(scanf("%d%c%d",&a,&c,&b)!=EOF)
{
if(a==0&&b==0&&c==' ')
exit(0);
else
{
switch(c)
{
case'+':printf("%d\n",a+b);break;
case'-':printf("%d\n",a-b);break;
case'*':printf("%d\n",a*b);break;
case'/':printf("%d\n",a/b);break;
case'%':printf("%d\n",a%b);break;
default:printf("invalid op\n");
}
}
}
}