19/11/2018, 19:42
Giải phương trình bậc 2 trong C++
Học lập trình C++ Đề bài Viết chương trình giải phương trình bậc 2 trong C++. Phương trình bậc 2 có dạng: Lời giải Lời giải của chúng tôi sử dụng phương thức sqrt() để tính căn bậc 2 của một số trong C++. #include <iostream> #include <cmath> ...
Học lập trình C++
Đề bài
Viết chương trình giải phương trình bậc 2 trong C++. Phương trình bậc 2 có dạng:

Lời giải
Lời giải của chúng tôi sử dụng phương thức sqrt() để tính căn bậc 2 của một số trong C++.
#include <iostream>
#include <cmath>
using namespace std;
/**
* giai phuong trinh bac 2: ax2 + bx + c = 0
*
* @param a: he so bac 2
* @param b: he so bac 1
* @param c: so hang tu do
*/
void giaiPTBac2(float a, float b, float c) {
// kiem tra cac he so
if (a == 0) {
if (b == 0) {
printf("Phuong trinh vo nghiem!");
} else {
printf("Phuong trinh co mot nghiem: x = %f", (-c / b));
}
return;
}
// tinh delta
float delta = b*b - 4*a*c;
float x1;
float x2;
// tinh nghiem
if (delta > 0) {
x1 = (float) ((-b + sqrt(delta)) / (2*a));
x2 = (float) ((-b - sqrt(delta)) / (2*a));
printf("Phuong trinh co 2 nghiem la: x1 = %f va x2 = %f", x1, x2);
} else if (delta == 0) {
x1 = (-b / (2 * a));
printf("Phong trinh co nghiem kep: x1 = x2 = %f", x1);
} else {
printf("Phuong trinh vo nghiem!");
}
}
/**
* ham main
*/
int main() {
float a, b, c;
cout << "Nhap he so bac 2, a = ";
cin >> a;
cout << "Nhap he so bac 1, b = ";
cin >> b;
cout << "Nhap so hang tu do, c = ";
cin >> c;
giaiPTBac2(a, b, c);
return 1;
}
Kết quả:
Nhap he so bac 2, a = 2 Nhap he so bac 1, b = 3 Nhap so hang tu do, c = 1 Phuong trinh co 2 nghiem la: x1 = -0.500000 va x2 = -1.000000
Học lập trình C++