a/b/c的值都没有赋值啊,d = (a+b+c)/2.0; //这里是2.0 代码修改如下:
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,d,m;
scanf("%lf %lf %lf",&a,&b,&c);
if (a+b > c && a+c >b && b+c>a)
{
d = (a+b+c)/2.0; //这里是2.0
m = sqrt(d*(d-a)*(d-b)*(d-c));
printf("m=%.2f",m);
}
return 0;
}
第6行,if()语句最后多了’;' 号
用这个试试看
double a=3.0, b=4, c=5;
double s, area; //s 是周长的一半, area表示面积
if (a+b>c && b+c>a && c+a>b){ //判定是否为三角形
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c)); //海伦公式
}