问题:根据输入的三角形的三条边,判断三角形的类型。且输出它的面积
分析:首先根据输入的三条边判断是否可以构成三角形:任意两边之和大于第三边,任意两边之差小于第三边;若可以构成三角形,则判断类型:等边三角形、等腰三角形、普通三角形
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
float s;
float p;
printf("please input three numbers:");
scanf("%f,%f,%f",&a,&b,&c);
p = (a + b + c) / 2;
if ((a + b) > c && (a + c) > b && (b + c) > a)
{
printf("可以构成三角形");
p = (a + b + c) / 2;
s = (float)sqrt(p * (p - a) * (p - b) * (p - c));
printf("该三角形的面积为:%0.1f", s);
if (a == b && b == c)
{
printf("该三角形为等边三角形");
}
else if (a == b || b == c || a == c)
{
printf("该三角形为等腰三角形");
}
else
{
printf("该三角形为普通三角形");
}
}
else
{
printf("不能构成三角形");
}
}