【教师讲解需求】输入三个正整数(代表三角形的三条边),判断它们能否组成三角形,若能,再判断是等边三角形、等腰三角形还是普通三角形。
规则:
- 能组成三角形的条件:任意两边之和大于第三边;
- 等边三角形:三边相等;
- 等腰三角形:有两边相等(且不是等边);
- 普通三角形:三边都不相等。
代码:
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;
}
结果如下: