Tạo bởi Trần Văn Điêp|
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

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:

ax2+bx+c=0ax^2 + bx + c = 0

Trong đó:

  • a, b, c là các số thực

  • a ≠ 0

Các bước giải phương trình

  1. Nhập 3 số a, b, c từ bàn phím

  2. Kiểm tra nếu a = 0 → không phải phương trình bậc 2

  3. Tính delta

Δ=b24acΔ = b^2 - 4ac
  1. 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

x=b2ax = -\frac{b}{2a}
  • Δ > 0 → Phương trình có 2 nghiệm phân biệt

x1=b+Δ2ax_1 = \frac{-b + \sqrt{Δ}}{2a} x2=bΔ2ax_2 = \frac{-b - \sqrt{Δ}}{2a}

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

  1. Viết lại chương trình bằng hàm riêng solveQuadratic()

  2. Cho phép người dùng nhập lại nếu a = 0

  3. In kết quả với 2 chữ số thập phân

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó