#include
#include
int main()
{double a,b,c,area,s;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("面积为:%f\n",area);
return 0;
}
为什么,只有在定义a,b,c,area,s为float时候,我输入6.0,8.0,10.0才输出结果为24.000000
而若我定义a,b,c,area,s为double的时候,我输入6.0,8.0,10.0时输出结果却为379070000000000000000000000000000000.00000为什么啊~~~我很苦恼啊。。
|