如何用C语言编程来检查用户输入的三个整数是否满足勾股定理条件(即a² + b² = c²),并返回它们能构成直角三角形(true)或不能(false)?
时间: 2024-12-08 17:25:01 浏览: 20
在C语言中,你可以创建一个函数来判断这三个整数是否满足勾股定理。首先,你需要从用户那里获取三个输入,然后计算两个较小数值的平方和,将结果与最大值进行比较。如果相等,则说明可以构成直角三角形,否则不行。以下是简单的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool checkPythagoreanTriple(int a, int b, int c) {
// 检查是否满足 a² + b² = c² 的条件
if (a > b && a > c) { // 确保a是最长边
int a_squared = a * a;
int b_squared = b * b;
if (a_squared == c * c || b_squared == c * c) {
return true; // 如果a²等于c²或b²等于c²,那么就是直角三角形
}
} else if (b > c) { // 同理检查b和c
// ... (这里省略类似的部分)
} else { // 最后,如果a和b都不大于c,直接判断
int sum_of_squares = a * a + b * b;
return sum_of_squares == c * c; // 如果两者之和等于c²,就构成直角三角形
}
return false; // 如果以上都不满足,说明不是直角三角形
}
int main() {
int num1, num2, num3;
printf("请输入三个整数:");
scanf("%d %d %d", &num1, &num2, &num3);
if (checkPythagoreanTriple(num1, num2, num3)) {
printf("这三个数能构成直角三角形.\n");
} else {
printf("这三个数不能构成直角三角形.\n");
}
return 0;
}
```
阅读全文