给出三条线段 a,b,c 的长度,均是不大于 1000010000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
如果三条线段不能组成一个三角形,输出Not triangle;
如果是直角三角形,输出Right triangle;
如果是锐角三角形,输出Acute triangle;
如果是钝角三角形,输出Obtuse triangle;
如果是等腰三角形,输出Isosceles triangle;
如果是等边三角形,输出Equilateral triangle。
如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
输入格式
输入 3 个整数
a、b 和 c。
输出格式
输出若干行判定字符串。
当两短边的平方和大于一长边的平方,说明是锐角三角形。
当两短边的平方和等于一长边的平方,说明是直角三角形。
当两短边的平方和小于一长边的平方,说明是钝角三角形。
package FenZhiJieGou;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int t = 0;
//对a,b,c进行从小到大的排序,方便后续进行锐角和钝角三角形的判定
if (a > b) {
t = a;
a = b;
b = t;
if (b > c) {
t = b;
b = c;
c = t;
}
if (a > b) {
t = a;
a = b;
b = t;
}
} else if (b > c) {
t = b;
b = c;
c = t;
if (a > b){
t = a;
a = b;
b = t;
}
}
if (a + b <= c || a + c <= b || b + c <= a) {
System.out.println("Not triangle");
} else {
if (a * a + b * b == c * c) System.out.println("Right triangle");
if (a * a + b * b > c * c) System.out.println("Acute triangle");
if (a * a + b * b < c * c) System.out.println("Obtuse triangle");
if ((a == b) || (a == c) || (b == c)) System.out.println("Isosceles triangle");
if (a == b && b == c) System.out.println("Equilateral triangle");
}
}
}
感谢您的观看,仅是日常小练习,如有错误欢迎指正。