有表达式如下:
a / ( b * c - d )
请按要求计算 。
输入格式:
只有一行,为4个用空格分隔的浮点数,依次代表a,b,c,d(请用double 类型存储)。
输出格式:
如果除数为0,则输出error,否则输出该表达式的值(保留1位小数)。
样例">样例">输入样例:
66.09 7.7 3.5 1.6
输出样例:
2.6
代码如下:
#include <stdio.h>
int main()
{
double a,b,c,d;
scanf("%lf %lf %lf %lf",&a,&b,&c,&d);
float e;
e = a/(b*c-d);
if(fabs((b*c-d)-0)< 1.0E-10)//判断浮点数是否相等
printf("error");
else
printf("%.1f",e);//打印保留一位小数
return 0;
}
1.其中fabs为函数
fabs函数的作用为:fabs函数是一个求绝对值的函数,求出x的绝对值,和数学上的概念相同, 当x不为负时返回 x,否则返回 -x。
2. 1.0E-10代表10的负10次方该种表示方法叫指数计数法(e计算法)
3.对浮点数的大小判断:浮点数与整型数字不同,有double类型和float类型不同的类型的精度不同,不能直接用if(a==b)进行判断!
如图中即使输入相同但是却不相等!
浮点数的判断为:如果两个浮点数相减所得比一个非常小的数小,你们近似的认为两个浮点数相等!