C语言: 判断三条边能否构成三角形并确定其类型
C语言: 判断三条边能否构成三角形并确定其类型
这篇文章提供了一个C语言程序,用于根据给定的三条边判断是否能够构成三角形,并确定三角形的类型:等边三角形、等腰三角形或普通三角形。
问题描述:
KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
输入:
输入三个整数a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。
输出:
输出占一行,如果能构成三角形,等边三角形则输出'Equilateral triangle!',等腰三角形则输出'Isosceles triangle!',其余的三角形则输出'Ordinary triangle!',反之输出'Not a triangle!'。
解题思路:
- 读取输入的三个整数a,b,c作为三角形的三条边。2. 根据三角形的性质进行判断: - 首先,判断任意两条边的和是否大于第三条边。如果有任意一组边的和小于等于第三条边,则无法构成三角形。 - 如果a、b、c三边相等,那么构成等边三角形。 - 否则,如果有两条边相等(例如a=b、a=c或b=c),那么构成等腰三角形。 - 如果以上条件都不满足,则为普通三角形。3. 根据判断结果输出相应的信息。
**C语言代码:**c#include <stdio.h>
int main() { // 输入三角形的三条边a、b、c int a, b, c; scanf('%d %d %d', &a, &b, &c);
// 判断是否能构成三角形以及三角形的类型 if (a + b > c && a + c > b && b + c > a) { if (a == b && b == c) { printf('Equilateral triangle!
'); // 等边三角形 } else if (a == b || a == c || b == c) { printf('Isosceles triangle! '); // 等腰三角形 } else { printf('Ordinary triangle! '); // 普通三角形 } } else { printf('Not a triangle! '); // 无法构成三角形 }
return 0;}
代码解释:
#include <stdio.h>: 引入标准输入输出库。-int main(): 程序入口函数。-scanf('%d %d %d', &a, &b, &c);: 从控制台读取三个整数并赋值给变量a, b, c。-if (a + b > c && a + c > b && b + c > a): 判断三条边是否满足构成三角形的条件。- 嵌套的if-else语句根据三条边的关系判断三角形的类型。-printf(): 输出判断结果。
注意:
上述代码中未对输入进行错误处理,实际使用时可能需要添加适当的错误处理逻辑,例如判断输入是否为整数以及是否在0到1000的范围内。
原文地址: http://www.cveoy.top/t/topic/J8L 著作权归作者所有。请勿转载和采集!