题目

读入三个正整数边长 abc,能构成三角形则输出 能构成,否则输出 不能构成

思路

读三边 a,b,c,先判均为正,再检查 a+b>c && a+c>b && b+c>a;三者同时成立才能构成三角形。

解题分析

三角形不等式三条都要验:a+b>ca+c>bb+c>a,且三边为正。只验一条会漏判如 1,2,3。

完整程序

#include <stdio.h>

int main(void)
{
    int a, b, c;
    if (scanf("%d %d %d", &a, &b, &c) != 3) {
        return 1;
    }
    if (a > 0 && b > 0 && c > 0
        && a + b > c && a + c > b && b + c > a) {
        printf("能构成\n");
    } else {
        printf("不能构成\n");
    }
    return 0;
}

运行示例

输入:

3 4 5

输出:

能构成

再试,输入:

1 2 3

输出:

不能构成