c++求解一元二次方程的解
实数解与复数解均可#include<iostream>using namespace std;void Calculate(double a, double b, double c){double m = b * b - 4 * a * c;if (m == 0){cout << "该方程只有一个解"<<endl;cout <<"x=" <&l
·
实数解与复数解均可
#include<iostream>
using namespace std;
void Calculate(double a, double b, double c)
{
double m = b * b - 4 * a * c;
if (m == 0)
{
cout << "该方程只有一个解"<<endl;
cout <<"x=" << -a * 2 / b;
}
if (m > 0)
{
cout << "该方程有两个不同的实根" << endl;
double m0 = (-b + sqrt(m)) / (2 * a);
double n0 = (-b - sqrt(m)) / (2 * a);
cout << "x1=" << m0 << " x2=" << n0 ;
}
if (m < 0)
{
cout << "该方程有两个不同的复数根" << endl;
if (b != 0)
{
double m1 = -b / (2 * a);
double m2 = sqrt(-m) / (2 * a);
double n1 = -b / (2 * a);
double n2 = - sqrt(-m) / (2 * a);
cout << "x1=" << m1 << (m2 > 0 ? "+" : "-") << fabs(m2) << "i" << " x2=" << n1 << (n2 > 0 ? "+" : "-") << fabs(n2) << "i";
}
else
{
double m3 = sqrt(-m) / (2 * a);
double n3 = -sqrt(-m) / (2 * a);
cout << "x1=" << m3 << "i x2=" << n3 << "i";
}
}
}
int main()
{
double a, b, c;
cout << "本程序用于求解一元二次方程(a*x_2+b*x+c=0的根." << endl << "请输入对应的系数:";
cin >> a >> b >> c;
Calculate(a, b, c);
system("pause");
return 0;
}
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


所有评论(0)