Chương trình C ++ để tìm tất cả gốc rễ của phương trình bậc hai

Chương trình này chấp nhận các hệ số của một phương trình bậc hai từ người dùng và hiển thị các căn (cả căn thực và phức tùy thuộc vào phân biệt).

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C ++ sau:

  • C ++ if, if… else và Nested if… else

Đối với phương trình bậc hai ax 2 + bx + c = 0 (trong đó a, b và c là các hệ số), nghiệm của nó được cho bằng cách làm theo công thức.

Thuật ngữ được gọi là phân biệt của một phương trình bậc hai. Phân biệt cho biết bản chất của rễ.b2-4ac

  • Nếu số phân biệt lớn hơn 0, các gốc là thực và khác.
  • Nếu số phân biệt bằng 0 thì các căn là thực và bằng nhau.
  • Nếu số phân biệt nhỏ hơn 0, các gốc phức tạp và khác nhau.

Ví dụ: Gốc của một phương trình bậc hai

 #include #include using namespace std; int main() ( float a, b, c, x1, x2, discriminant, realPart, imaginaryPart; cout <> a>> b>> c; discriminant = b*b - 4*a*c; if (discriminant> 0) ( x1 = (-b + sqrt(discriminant)) / (2*a); x2 = (-b - sqrt(discriminant)) / (2*a); cout << "Roots are real and different." << endl; cout << "x1 = " << x1 << endl; cout << "x2 = " << x2 << endl; ) else if (discriminant == 0) ( cout << "Roots are real and same." << endl; x1 = -b/(2*a); cout << "x1 = x2 =" << x1 << endl; ) else ( realPart = -b/(2*a); imaginaryPart =sqrt(-discriminant)/(2*a); cout << "Roots are complex and different." << endl; cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl; cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl; ) return 0; )

Đầu ra

Nhập các hệ số a, b và c: 4 5 1 Các rễ là thực và khác nhau. x1 = -0,25 x2 = -1

Trong chương trình này, sqrt()hàm thư viện được sử dụng để tìm căn bậc hai của một số.

thú vị bài viết...