新人求解,我这个程序错在哪里?
程序代码:#include<stdio.h>
#include<math.h>
main()
{
double a,b,c,d,h,e,f;
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
e=(d*d+(b-a)*(b-a)-c*c )/2*d*(b-a);
f=sqrt(1-e*e);
h=d*f;
printf("%f",(a+b)*h/2.0);
return 0;
}已知梯形四边求梯形面积,为什么警告从double到float可能丢失数据?
算法解释:做一斜边的平行四边形然后利用余弦函数求一底角余弦值,然后求出梯形高,最后用梯形面积公式求梯形面积。









