小朱学安全 2021-10-05 22:45 采纳率: 100%
浏览 20
已结题

c语言问题,解答一下

输入三角形的3条边长,请判断这是一个什么三角形。普通三角形,等边三角形,等腰三角形,不能构成三角形。

  • 写回答

1条回答 默认 最新

  • 编程萌新555 2021-10-05 22:48
    关注

    #include <stdio.h>

    int main(void)
    {
    int a,b,c;

    printf("输入三角形三条整型边长:");
    scanf("%d%d%d",&a,&b,&c);

    //为方便之后的算法实现 进行对边排序,(确保a>=b>=c)
    int temp;
    if(a<b)
    {
    temp=a;
    a=b;
    b=temp;
    }
    //存在溢出风险
    if(a<c)
    {
    a=a+c;
    c=a-c;
    a=a-c;
    }
    //
    if(b<c)
    {
    b=b^c;
    c=b^c;
    b=b^c;
    }
    //
    //判断是否为三角形
    if((b+c)<=a)
    {
    printf("不是三角形.\n");
    return 1;
    }

    if(a==b || a==c || b==c)//等边 或 等腰
    {
    a==c?printf("等边三角形.\n"):printf("等腰三角形.\n");
    }
    else //普通 或 直三角形
    {
    if((bb+cc)==(a*a))
    {
    printf("直三角形.\n");
    }
    else
    {
    printf("普通三角形.\n");
    }
    }
    return 0;
    }
    程序如上,希望对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月5日