输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。
输出格式:
在一行中输出表达式的运算结果,保留两位小数。
如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。
输入样例1:
3.1+4.8
结尾无空行
输出样例1:
7.90
结尾无空行
输入样例2:
98/0
结尾无空行
输出样例2:
Divisor can not be 0!
结尾无空行
输入样例1:
123%3
结尾无空行
输出样例1:
Unknown operator!
结尾无空行
这个题目比较好理解,就是注意一些细节,比如浮点小数等。
#include<stdio.h>
int main(void){
double a=0,b=0;
char c=0;
scanf("%lf%c%lf",&a,&c,&b);
if(c=='+')
printf("%.2lf",a+b);
else if(c=='-')
printf("%.2lf",a-b);
else if(c=='/'){
if(b==0)
printf("Divisor can not be 0!");
else printf("%.2lf",a/b);
}
else if(c=='*')
printf("%.2lf",a*b);
else if(c!='+'&&c!='-'&&c!='/'&&c!='*')
printf("Unknown operator!");
return 0;
}