dabocaiqq
2020-03-24 10:24
采纳率: 66.6%
浏览 450

高分悬赏,给出三角形的三条边a,b,c,从键盘输入,然后判断它是什么类型的三角形(直角、等边、等腰或者不是三角形)

高分悬赏,给出三角形的三条边a,b,c,从键盘输入,然后判断它是什么类型的三角形(直角、等边、等腰或者不是三角形)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    算法思路:定义判断各种三角形的规则,然后走不同分支输出结果,这里有一个完整的 Java 实现的,可以参考:
    https://blog.csdn.net/yuxiangaaaaa/article/details/78292251

    打赏 评论
  • wyh838689 2020-03-24 10:44

    #include
    #include
    int main()
    {
    int a,b,c;
    printf("请分别输入三条边长:");
    while(1)
    {
    scanf("%d%d%d",&a,&b,&c);
    if(a<=0 || b<=0 || c<=0)
    printf("边长不能为非正数,请重新输入:\n");
    if(a+b<=c || a+c<=b || b+c<=a)
    printf("两边和小于第三边,不能构成三角形,请重新输入:\n");
    else
    break;
    }
    if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))
    printf("%d,%d,%d这三条边构成一个等腰三角形.\n",a,b,c);
    else if(a==b==c)
    printf("%d,%d,%d这三条边构成一个等边三角形.\n",a,b,c);
    else if(a*a==b*b+c*c||a*a+b*b==c*c||b*b==c*c+a*a)
    printf("%d,%d,%d这三条边构成一个直角三角形.\n",a,b,c);
    else
    printf("%d,%d,%d这三条边构成一般三角形.\n",a,b,c);
    }

    打赏 评论
  • 陈年椰子 2020-03-24 10:48

    https://bbs.csdn.net/topics/396096483

    输入 a, b , c ,
    增序排序 , 得到 l[3]

    如果 l[0] + l[1] > l[2] , 依次做如下判断
    三角形标志 = '一般三角形'
    如果 l[0]*l[0] + l[1]*l[1] = l[2] * l[2] ,打印 '直角三角形' , 三角形标志 = ''
    如果 l[0] = l[1] = l[2] ,打印 '等边三角形' , 三角形标志 = ''
    如果 l[0] = l[1] OR l[0] = l[2] OR l[1] = l[2] ,打印 '等腰三角形' , 三角形标志 = ''
    打印 三角形标志
    否则 打印 '不是三角形'

    python

    
    if a+b>c and a-b<c:
        print('能组成', end = '')
        if a**2+b**2==c**2 or c**2+a**2==b**2 or c**2+b**2==a**2:
            print('直角三角形!')
        elif a==b and b==c:
            print('等边三角形!')
        elif a==b or a==c or b==c:
            print('等腰三角形!')
        else:
            print('一般三角形!')
    else:
        print('不能组成三角形!')
    
    
    打赏 评论
  • 鱼兮游兮 2020-03-24 10:55

    #include
    int main()
    {
    float a,b,c;
    printf("请输入三角形的三条边:");
    scanf("%f%f%f",&a,&b,&c);
    if((a+b)<c||(c+b)<a||(a+c)<b||a<0||b<0||c<0)
    printf("输入有误,无法构成三角形!");
    if(a==b==c)
    printf("该三角形为等边三角形!");
    if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
    printf("该三角形为直角三角形!");
    if(a==b||a==c||b==c)
    printf("该三角形为等腰三角形!");
    else
    printf("该三角形为普通三角形!");
    printf("\n");
    return 0;
    }
    兄弟,那个,我最近才开始接触编程,所学习的计算机语言有限,目前只对C,C++,有一点点了解,这个是我编的,很简单,甚至有点土,不过,我会加油的,这是我回答的第一个问题,嘻嘻,希望能帮到你。

    打赏 评论

相关推荐 更多相似问题