首页 > 代码库 > 计算二次方程根
计算二次方程根
#include <cmath>
#include <iostream>
using namespace std;
template<typename T>
bool OutputRoots(const T& a,const T& b,const T& c)
{
if(0 == a)
{
cout << "被除数不能为0!" << endl;
return -1;
}
T d = b*b -4*a*c;
if(d > 0) // 两个实根
{
float sqrtd = sqrt(d);
cout << "There are two real roots "
<< (-b+sqrtd)/(2*a) << " and "
<< (-b-sqrtd)/(2*a) << endl;
}
else if(d == 0) // 两个根据相等
{
cout << "There is only one distinct root "
<< -b/(2*a) << endl;
}
else // 两个复根
{
cout << "The roots are complex " << endl
<< "The real part is "
<< -b/(2*a) << endl
<< "The imaginary part is "
<< sqrt(-d)/(2*a) << endl;
}
return true;
}
int main()
{
OutputRoots(0,-5,6);
return 0;
}
计算二次方程根
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。