Điều kiện cạnh tam giác. Phân loại tam giác
Đề bài: Viết chương trình nhập vào 3 giá trị a, b, c. Kiểm tra 3 giá trị vừa nhập vào có phải là 3 cạnh tam giác hay không? Nếu đúng là 3 cạnh tam giác, cho biết tam giác loại gì?
Yêu cầu kiến thức:
- Xác định đúng kiểu dữ liệu cho các biến
- Phân tích thiết kế giải thuật để không bỏ sót trường hợp
- Nắm được kiến thức toán học về các đặc điểm nhận biết các loại tam giác như tam giác đều, tam giác cần, tam giác vuông cân, tam giác thường
Code tham khảo dưới đây được viết trên JDK ver 8.x:
package timoday;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Khai báo biến
double a, b, c;
// Nhập dữ liệu
System.out.print("Nhập vào cạnh thứ nhất: ");
a = sc.nextDouble();
System.out.print("Nhập vào cạnh thứ hai: ");
b = sc.nextDouble();
System.out.print("Nhập vào cạnh thứ ba: ");
c = sc.nextDouble();
// Kiểm tra điều kiện lập thành tam giác
if ((a + b > c) && (a + c > b) && (b + c > a) &&
(a > 0) && (b > 0) && (c > 0)) {
// Kiểm tra điều các tam giác đặc biệt
if ((a == b) && (b == c)) {
System.out.println("Tam giác đều!");
} else if ((a == b) || (a == c) || (b == c)) {
System.out.println("Tam giác cân!");
} else if ((a * a == b * b + c * c) ||
(b * b == a * a + c * c) ||
(c * c == a * a + b * b)) {
System.out.println("Tam giác vuông!");
} else if (((a * a + b * b == c * c) && (a == b)) ||
((a * a + c * c == b * b) && (a == c)) ||
((b * b + c * c == a * a) && (b == c))) {
System.out.println("Tam giác vuông cân!");
} else {
System.out.println("Tam giác thường!");
}
} else {
System.out.println("3 cạnh của tam giác không thỏa mãn điều kiện lập thành tam giác!");
}
sc.close();
}
}
Kết luận:
- Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây