分支-02. 三角形判断(15)

来源:互联网 发布:java如何创建对象数组 编辑:程序博客网 时间:2024/06/07 05:07

判断三角形采用两边和大于第三边都满足即可

注意海伦公式的使用:

假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得: 
S=√[p(p-a)(p-b)(p-c)] 
而公式里的p为半周长: 
p=(a+b+c)/2 

#include "stdio.h"#include "math.h"int main(){    double x1,x2,x3,y1,y2,y3;    double p,perimeter,area;    double s1,s2,s3;    scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);    s1 = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));    s2 = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));    s3 = sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));    if (s1 + s2 > s3 && s3 + s2 > s1 && s1 + s3 > s2) {        perimeter = s1 + s2 + s3;        p = 0.5 * perimeter;        area = sqrt(p * (p - s1) * (p - s2) * (p - s3));        printf("L = %.2lf, A = %.2lf\n",perimeter,area);    }    else        printf("Impossible\n");}


0 0
原创粉丝点击