编函数fun,以三角形的三个边长为参数,判断是否为直角三角形

编写一个函数fun,以三角形的三个边长为参数,判断该三角形是否为直角三角形,如果是直角三角形返回值为1,否则返回值为0。

第1个回答  2017-12-26
import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b, c;
try {
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
if(a > 0 && b > 0 && c > 0 && a + b > c && b + c > a && c + a > b)
System.out.println("Yes");
else
System.out.println("No");
} catch(InputMismatchException e) {
System.out.println("Input type mismatch error!");
}
sc.close();
}
}追问

学霸君,我们暂时只学了C语言

学霸君,我们暂时只学了C语言

本回答被网友采纳
第2个回答  2018-11-20
比如勾3股4玄5可以证明它是90度除此之外还其它参数
第3个回答  2023-03-12
下面是一个可以判断三角形是否为直角三角形的函数 `fun`。该函数接受三个参数,即三角形的三条边长,如果这三条边正好构成一个直角三角形,则返回 1,否则返回 0。

```c
int fun(int a, int b, int c) {
// 将三条边按大小排序,a 是最长的边
if (a < b) {
int t = a;
a = b;
b = t;
}
if (a < c) {
int t = a;
a = c;
c = t;
}

// 使用勾股定理判断是否为直角三角形
if (a * a == b * b + c * c) {
return 1;
} else {
return 0;
}
}
```

在这个函数中,我们首先将三条边按照从大到小的顺序排列,使得 `a` 是最长的边。然后,我们使用勾股定理判断这三条边是否能够构成一个直角三角形。具体来说,如果 $a^2 = b^2 + c^2$,则说明三角形是一个直角三角形,函数返回值为 1;否则,函数返回值为 0。

需要注意的是,在实际应用中,由于浮点数精度的问题,使用勾股定理判断是否为直角三角形时可能会出现误差。因此,对于重要的应用场景,建议使用其他方法进行判断。
相似回答