请编写一个C语言程序,输入3个整数,分别表示三条线段的长度,判断此三条线段能否组成三角形,如果不能,则输出No,如果能,请判断此三角形是否为等边三角形或等腰三角形,若是等边三角形则输出边长,若是等腰三角形则输出底边长和腰长,否则输出三角形三边长。
时间: 2024-09-16 15:03:47 浏览: 65
```c
#include <stdio.h>
#include <stdbool.h>
// 判断三个整数是否能组成三角形
bool can_form_triangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
return true;
else
return false;
}
int main() {
int side1, side2, side3;
printf("Enter the lengths of three sides: ");
scanf("%d %d %d", &side1, &side2, &side3);
// 检查是否能组成三角形
if (!can_form_triangle(side1, side2, side3)) {
printf("No\n");
} else {
bool is_equilateral = side1 == side2 && side2 == side3; // 等边三角形
bool is_isosceles = side1 == side2 || side2 == side3 || side1 == side3; // 等腰三角形
if (is_equilateral) {
printf("It's an equilateral triangle with side length: %d\n", side1);
} else if (is_isosceles) {
printf("It's an isosceles triangle with base %d and equal sides %d\n",
side1, side2); // 如果只有一对相等,假设side1是最小的底边
} else {
printf("It's a scalene triangle with sides %d, %d, and %d\n", side1, side2, side3);
}
}
return 0;
}
```
阅读全文