给出三条线段 a,b,c 的长度,均是不大于 10000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢? 如果三条线段不能组成一个三角形,输出Not triangle; 如果是直角三角形,输出Right triangle; 如果是锐角三角形,输出Acute triangle; 如果是钝角三角形,输出Obtuse triangle; 如果是等腰三角形,输出Isosceles triangle; 如果是等边三角形,输出Equilateral triangle。 如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。 输入格式 输入 3 个整数 a、b 和 c。 输出格式 输出若干行判定字符串。 yongC语言写
时间: 2024-04-15 13:32:16 浏览: 160
nn将多条线段连接成一条线段.lsp
先使用C语言编写一个判断三角形类型的函数:
```c
#include <stdio.h>
// 判断三角形类型的函数
void triangleType(int a, int b, int c) {
// 判断是否能构成三角形
if (a + b <= c || b + c <= a || a + c <= b) {
printf("Not triangle\n");
return;
}
// 判断是否为等边三角形
if (a == b && b == c) {
printf("Equilateral triangle\n");
return;
}
// 判断是否为等腰三角形
if (a == b || b == c || a == c) {
printf("Isosceles triangle\n");
}
// 计算三角形的角度
int maxSide = a;
if (b > maxSide) {
maxSide = b;
}
if (c > maxSide) {
maxSide = c;
}
int sumOfSquares = a * a + b * b + c * c - maxSide * maxSide;
// 判断是否为直角三角形
if (sumOfSquares == maxSide * maxSide) {
printf("Right triangle\n");
return;
}
// 判断是否为锐角三角形
if (sumOfSquares > maxSide * maxSide) {
printf("Acute triangle\n");
return;
}
// 剩下的情况为钝角三角形
printf("Obtuse triangle\n");
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
triangleType(a, b, c);
return 0;
}
```
这段代码会根据输入的三条线段的长度,输出对应的三角形类型。
阅读全文