我加入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;
}
以上仅供参考,希望对题主有所帮助!