如何定义三角形

55 阅读1分钟

【教师讲解需求】输入三个正整数(代表三角形的三条边),判断它们能否组成三角形,若能,再判断是等边三角形、等腰三角形还是普通三角形。

规则:

  1. 能组成三角形的条件:任意两边之和大于第三边;
  2. 等边三角形:三边相等;
  3. 等腰三角形:有两边相等(且不是等边);
  4. 普通三角形:三边都不相等。

代码:

c
#include <stdio.h>

int main(){
    int a, b, c;
    // 输入三个正整数
    printf("请输入三个正整数(代表三角形的三条边):");
    scanf("%d %d %d", &a, &b, &c);
    
    // 检查输入是否为正整数(题目要求,此处做基本校验)
    if (a <= 0 || b <= 0 || c <= 0) {
        printf("输入错误,必须是正整数!\n");
        return 0;
    }
    
    // 判断能否组成三角形:任意两边之和大于第三边
    if (a + b > c && a + c > b && b + c > a) {
        // 判断三角形类型
        if (a == b && b == c) {  // 三边相等:等边三角形
            printf("能组成三角形,且是等边三角形\n");
        } else if (a == b || a == c || b == c) {  // 两边相等且不是等边:等腰三角形
            printf("能组成三角形,且是等腰三角形\n");
        } else {  // 三边都不相等:普通三角形
            printf("能组成三角形,且是普通三角形\n");
        }
    } else {
        printf("不能组成三角形\n");
    }
    
    return 0;
}

image.png

结果如下: image.png