题解 | #简单计算器#
简单计算器
http://www.nowcoder.com/practice/b8f770674ba7468bb0a0efcc2aa3a239
#include<stdio.h>
int main(void)
{
double a,b;//精度问题导致用float无法通过,具体原因得去研究一下IEEE754浮点数表示
char sf;
scanf("%lf%c%lf",&a,&sf,&b);
switch(sf)//本题可以用if-else完成,但是用switch也能完成,因为是新手,就训练一下如何使用switch了
{
case '+':
printf("%.4f+%.4f=%.4f",a,b,a+b);
break;
case '-':
printf("%.4f-%.4f=%.4f",a,b,a-b);
break;
case '*':
printf("%.4f*%.4f=%.4f",a,b,a*b);//浮点数要注意精度问题
break;
case '/':
{
if(b<0.000001)
printf("Wrong!Division by zero!");
else
printf("%.4f/%.4f=%.4f",a,b,a/b);
break;
}
default:
printf("Invalid operation!");
}
return 0;
}