输出三角形面积和类型(难度:半颗星)

来源:互联网 发布:邓艾和姜维谁厉害知乎 编辑:程序博客网 时间:2024/06/06 02:17

问题描述:

输入三条边的边长,如果这三条边可以构成三角形,输出三角形的面积(保留到小数点后6位)和类型,否则输出“不能构成三角形”

PS:

从上到下依次检测三角形的类型,只要有一个满足后面不用再检测了,直接输出即可:

等边三角形
等腰三角形
直角三角形
普通三角形

参考代码

#include <stdio.h>#include <math.h>int main(){    double a, b, c, p, area;    scanf_s("%lf%lf%lf", &a, &b, &c);    if (a + b > c && b + c > a && a + c > b) //满足任意两边之和大于第三边才能构成三角形    {        p = (a + b + c) / 2;//周长的一半        area = sqrt(p * (p - a) * (p - b) * (p - c));//三角形面积公式        printf("%.6lf\n", area);        if (a == b && b == c && a == c)            printf("等边三角形\n");        else if (a == b || b == c || a == c)            printf("等腰三角形\n");        else if (a * a + b * b == c * c)            printf("直角三角形\n");        else            printf("普通三角形\n");    }    else        printf("不能构成三角形\n");    return 0;}

运行结果:

这里写图片描述