作业帮 > 综合 > 作业

编写由三角形三边求面积的函数.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/27 00:37:45
编写由三角形三边求面积的函数.
#include
float kig(float x, float y,float z);
main()
{
float s,a,b,c;
scanf("%f%f%f",&a,&b,&c);
s=kig(a,b,c);
printf("s=%f\n",kig(a,b,c));
}
float kig(float x,float y,float z)
{
float p;
p=1/4*(2*x*z+y*y-x*x-z*z);
return (p);
}
这个有什么错.怎么s=0
编写由三角形三边求面积的函数.
p=1/4*(2*x*z+y*y-x*x-z*z);
应该改为
p=1.0/4*(2*x*z+y*y-x*x-z*z);或者
p=1/4.0*(2*x*z+y*y-x*x-z*z);
原因是:当进行运算时,1和4都是整数,先计算1/4得到的结果是整数,也就是只取整数部分,余数保留不运算,结果是0,所以在后面的运算中也一直是0了,所以把它换为浮点数,也就可以有小数部分了.
再问: 貌似还是没到预期效果 整个程序出错?
再答: 把printf("s=%f\n",kig(a,b,c)); 改为printf("s=%f\n",s);试试