满意答案
audi新奥迪
2013.12.05
采纳率:57% 等级:12
已帮助:10171人
area=sqrt(s*(s-a)*(s-b*(s-c)));
写错了(s-b*(s-c) 看清了吗???? (s-b)*(s-c)
还应改成:area=sqrt((double)(s*(s-a)*(s-b)*(s-c)));
还有这一句:s=(a+b+c)/2; 应该写成 s=(double)(a+b+c)/2;
#include
#include //数学函数
int main(void)
{
double s,area;
int a,b,c;
printf("请输入三角形的三边长:\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);//输入三个边长
if(a+b>c&&a-b
{
s=(a+b+c)/2;
printf("s=%f\n",s);
area=sqrt((double)(s*(s-a)*(s-b)*(s-c)));
printf("area=%f,%f\n",(double)(s*(s-a)*(s-b)*(s-c)),area); //为什么出入4,4,4会乱码???
return 0;
}
else
printf("sb\n"); //不满足条件
return 0;
}
00分享举报