问题提出:
根据三角形的三条边判断出三角形的类型并输出面积和类型;
解题思想:
1、三角形两边之和大于第三边;
2、三角形的类型:直角,等腰,等边,普通;
完整的程序:
#include<stdio.h>
#include<math.h>
int main(void)
{
float a, b, c, s, area;
printf("请输入三角形的三条边:\n");
scanf("%f %f %f",&a,&b,&c);
if ((a + b > c) && (a + c > b) && (b + c > a))
{
s = (a + b + c) / 2;
area = (float)sqrt(s * (s - a) * (s - b) * (s - c));//三角形面积公式
printf("该三角形面积是:%f\n", area);
if ((a == b) && (b == c))
printf("'该三角形是一个等边三角形\n");
else if ((a == b) || (b == c) || (a == c))
printf("该三角形是一个等腰三角形\n");
else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (b * b + c * c == a * a))
printf("该三角形是一个直角三角形\n");
else
printf("该三角形是一个普通三角形\n");
}
else printf("不能构成三角形");
}