海伦公式编程c语言……

我加入if和printf了以后为什么还是不太可以呀,还有大佬没有睡觉的嘛,帮助一下我这个小白吧,刚刚入门,查了资料别人写的else不太行

#include <stdio.h>
#include <math.h>

int is_valid_triangle(double a, double b, double c)
{
    return a > 0 && b > 0 && c > 0 && (a + b) > c && (a + c) > b && (b + c) > a;
}

int main()
{
    double a, b, c;
    scanf("%lf%lf%lf", &a, &b, &c);
    if (is_valid_triangle(a, b, c))
    {
        double p = (a + b + c) / 2.0;
        double s = sqrt(p * (p - a) * (p - b) * (p - c));
        printf("%lf", s);
    }
    else
    {
        printf("invalid triangle\n");
    }
    return 0;
}

海伦公式 :
1、p=(a+b+c)/2
2、面积=对p*(p-a)(p-b)(p-c)进行开根号
判断三角形:
两边之和大于第三边
代码实现:

#include<stdio.h> 
#include<math.h> 

int main()
{
double a,b,c,p,area; 
printf("请输入三角形的三边长\n"); 
scanf("%lf %lf %lf",&a,&b,&c); 
p=1.0/2*(a+b+c);  

if(a+b>c&&b+c>a&&a+c>b)
{   
area=sqrt(p*(p-a)*(p-b)*(p-c)); 
printf("三角形的面积为:%lf\n",area); 
} 
else 
printf("不能构成三角形\n");

return 0;
}

以上仅供参考,希望对题主有所帮助!