C语编写一个函数fun,以三角形的三个边长为参数,判断该三角形是否为直角三角形,如果是直角三角形返?

如题所述

第1个回答  2022-12-16
示例代码如下:
#include <math.h>
int fun(int a, int b, int c) {
// 先判断三角形的合法性
if (a + b > c && a + c > b && b + c > a) {
// 判断是否为直角三角形
int maxSide = fmax(a, fmax(b, c)); // 求出最大的边长
if (maxSide == a) {
return (b * b + c * c == a * a); // 判断是否满足勾股定理
} else if (maxSide == b) {
return (a * a + c * c == b * b);
} else {
return (a * a + b * b == c * c);
}
} else {
// 不是三角形
return 0;
}
}
相似回答