自己编写的C语言程序 哪里错了?求教
1个回答
展开全部
错误代码是这一句s=1/2*(a+b+c); 乘和除优先级是一样的,程序计算时相当于s=(1/2)*(a+b+c); 默认1和2都是整形,即(1/2)为0,这样不管(a+b+c)是多少,s都等于0
可以把1或2修改为1.0或2.0程序就认为(1/2)是浮点数,值为0.5,这样s就可以算出正确的结果
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,area,s;
scanf("%f%f%f",&a,&b,&c);
s=(1.0/2.0)*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f%f",s,area);
}
运行结果如下:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询