输入三角形三条边的长度a、b、c,判断它们分别能构成什么形状的三角形:普通三角形、等边三角形、等腰三角形、等腰直角三角形。
(提示:判断两个浮点数a、b相等,可以使用fabs(a-b)<0.001 )
输入
三条边的长度
输出
三角形类型的名称;如果不能构成三角形,就输出“非三角形”
首先对本题目进行分析,如下图。
废话不多说,直接上代码
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c;//既然题目要求给出了提示条件,我们不妨将三个变量均设定为浮点型
scanf("%lf%lf%lf",&a,&b,&c);
if((a+b)<c||(a+c)<b||(b+c)<a)//首先要对非三角形进行讨论 ,注意这里还可以加上三边均大于0的条件从而使程序更加完善
printf("非三角形");
if((fabs(a-b)<0.001)||(fabs(b-c)<0.001)||(fabs(a-c)<0.001))//判断是否存在两边相等
{
if(a==b&&b==c)
printf("等边三角形");//特殊情况单独讨论
else if(fabs(pow(a,2)+p