Tạo bởi Trần Văn Điêp|
[Video] Bài tập - Giải phương trình bậc 2 - Lập trình C
Lập Trình C
[Video] Bài tập - Giải phương trình bậc 2 - Lập trình C
![[Video] Bài tập - Giải phương trình bậc 2 - Lập trình C [Video] Bài tập - Giải phương trình bậc 2 - Lập trình C](https://gozic.vn/uploads/stores/49/2026/03/flowchart-phuong-trinh-bac-2.png)
Trong bài học này, chúng ta sẽ thực hành viết chương trình C để giải phương trình bậc 2. Đây là một bài tập cơ bản giúp người học hiểu cách sử dụng biến, điều kiện if-else và thư viện toán học trong C.
Phương trình bậc 2 có dạng:
Trong đó:
-
a, b, c là các số thực
-
a ≠ 0
Các bước giải phương trình
-
Nhập 3 số a, b, c từ bàn phím
-
Kiểm tra nếu a = 0 → không phải phương trình bậc 2
-
Tính delta
-
Xét các trường hợp:
-
Δ < 0 → Phương trình vô nghiệm
-
Δ = 0 → Phương trình có nghiệm kép
-
Δ > 0 → Phương trình có 2 nghiệm phân biệt
Code C giải phương trình bậc 2
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2;
printf("Nhap a: ");
scanf("%f", &a);
printf("Nhap b: ");
scanf("%f", &b);
printf("Nhap c: ");
scanf("%f", &c);
if(a == 0){
printf("Khong phai phuong trinh bac 2");
return 0;
}
delta = b*b - 4*a*c;
if(delta < 0){
printf("Phuong trinh vo nghiem");
}
else if(delta == 0){
printf("Phuong trinh co nghiem kep x = %f", -b/(2*a));
}
else{
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
printf("x1 = %f\n", x1);
printf("x2 = %f\n", x2);
}
return 0;
}
Ví dụ chạy chương trình
Input:
a = 1
b = -3
c = 2
Output:
x1 = 2
x2 = 1
✅ Bài tập thêm
-
Viết lại chương trình bằng hàm riêng
solveQuadratic() -
Cho phép người dùng nhập lại nếu a = 0
-
In kết quả với 2 chữ số thập phân