急!大家帮忙看看代码哪里出了错;
下面的代码在语法上没有出现错误,但是在运行时
area这个变量会为0
求大神回答这是为什么??、
# include <stdio.h>
# include <math.h>
int main ()
{
double x,y,z,s,area;
printf
("请输入三角形的三边边长,边长与边长之用空格隔开");
scanf
("%lf %lf %lf",&x,&y,&z);
s=1/2*(x+y+z);
if(x+y>z&&x+z>y&&y+z>x)
{
area=sqrt(s*(s-x)*(s-y)*(s-z));
printf
("你输入的 x= %.2lf,y=%.2lf,z=%.2lf所构成的三角形面积为 %.2lf\n",x,y,z,area);
}
else
{
for(;x+y<z || x+z<y || y+z<x;)
{
printf("你输入的三条边的长不能构成一个三角形\n");
printf("请重新输入三角形的三边边长,边长与边长之用空格隔开\n");
scanf("%lf %lf %lf",&x,&y,&z);
}
area = sqrt(s * (s-x) * (s-y) * (s-z));
printf
("你输入的 x= %.2lf,y=%.2lf,z=%.2lf所构成的三角形面积为 %.2lf\n",x,y,z,area);
}
system("pause");
return;
}