1037: 四则运算
题目描述
给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果
输入
表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符
输出
如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!"。最后结果小数点后保留两位。
样例输入 Copy
1.0 + 1.0
样例输出 Copy
2.00
提示
除数是0,用|s2|<1e-10(即10的-10次方)判断
示例代码一
#include<stdio.h>
#include<math.h>
int main()
{
int flag=1;
double s1,s2,s;
char op;
scanf("%lf %c %lf",&s1,&op,&s2);
switch(op)
{
case '+': s=s1+s2;break;
case '-':s=s1-s2;break;
case '*':s=s1*s2;break;
case '/':
if(fabs(s2)<1e-10)
flag=0;
else
s=s1/s2;break;
default: flag=0;break;
}
if(flag==0)
printf("Wrong input!\n");
else
printf("%.2f\n",s);
return 0;
}
示例代码二
#include<stdio.h>
#include<math.h>
int main()
{
double s1,s2;
char op;
scanf("%lf %c %lf",&s1,&op,&s2); //输入数字与字符
if(op=='+')
printf("%.2f\n",s1+s2);
else if(op=='-')
printf("%.2f\n",s1-s2);
else if(op=='*')
printf("%.2f\n",s1*s2);
else if(op=='/'&&fabs(s2)>=1e-10) //如果符号为/并且除数不是0
printf("%.2f\n",s1/s2);
else //输入别的字符显示输入错误
printf("Wrong input!\n");
return 0;
}