汐迟 2022-10-17 18:55 采纳率: 80%
浏览 83
已结题

选择分支结构判断三角形类型


#include <stdio.h>
void main()
{
    float a, b, c;
    printf("请输入三个数\n");
    scanf_s("%f %f %f", &a, &b, &c);
    if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a)
        printf("这是一个直角三角形\n");
    else if (a == b || b == c || a == c)
    {
        if (a == b == c)
            printf("这是一个等边三角形\n");
        else
            printf("这是一个等腰三角形\n");
    }
    else if (a + b <= c || a + c <= b || b + c <= a)
        printf("无法构成三角形\n");
    else
        printf("这是一个一般三角形\n");
}

为什么输入三个相等的数输出为等腰三角形?

  • 写回答

1条回答 默认 最新

  • X-道至简 2022-10-17 19:08
    关注

    a == b == c 改成 a == b && b == c ,要分开写
    如果写成 a == b == c 先算 a == b 要么是0或者1,变成 0 == c 或者 1==c 基本为假

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月17日
  • 已采纳回答 10月17日
  • 创建了问题 10月17日