绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
c语言函数判断三角形类型,为什么输入任何数据显示的都是不能构成三角形
2019-08-05 10:17:26
#include <stdio.h>
#include <math.h>
#define eps 1e-1

//判断三边是否能构成三角形 
int triangle(double a, double b, double c)
{
    if((a+b>c) && (a+c>b) && (b+c>a) && (a>0 && b>0 && c>0))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
//判断三角形是否为等边三角形 
int equilateral(double a, double b, double c)
{
    if((a==b) && (b==c))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
//判断三角形是否为等腰三角形 
int isosceles(double a, double b, double c)
{
    if((a==b) || (b==c) || (a==c))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
//判断三角形是否为直角三角形 
int right(double a, double b, double c)
{
    if(fabs(a * a + b * b - c * c) <= eps || fabs(a * a + c * c - b * b) <= eps || fabs(b * b + c * c - a * a) <= eps)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int main()
{
    double a, b, c;
    printf("Input the three edge length a, b, c:");
    scanf("%lf,%lf,%lf", &a, &b, &c);
    if(triangle(a, b, c))
    {
        if(equilateral(a, b, c))
        {
            printf("等边三角形\n");
            return 0;
        }
        if(isosceles(a, b, c) && right(a, b,c))
        {
            printf("等腰直角三角形\n");
            return 0;    
        }
        if(isosceles(a, b, c))
        {
            printf("等腰三角形\n");
            return 0;
        }
        if(right(a, b, c))
        {
            printf("直角三角形\n");
            return 0;
        }
        printf("一般三角形\n");
        return 0;
    }
    else
    {
        printf("不能构成三角形\n");
        return 0;
    }
}


分享好友

分享这个小栈给你的朋友们,一起进步吧。

应用开发
创建时间:2020-06-17 15:31:04
应用软件开发是指使用程序语言C#、java、 c++、vb等语言编写,主要是用于商业、生活应用的软件的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~