📄 exp2_1.cpp
字号:
// 范例:编程实现求解一元二次方程 的根。
/*[分析] 一元二次方程的求根公式是 ,按照这个公式,作为一个健壮的程序,
应根据方程系数的不同取值判断方程根的情况。如:
当a=0且b=0且c≠0时,方程无根;
当a=0且b≠0时,方程有一个根;
当a≠0且b≠0时,根据 判断方程根:
Δ>0,有两个不同实根;
Δ=0,有两个相同实根;
Δ<0,有两个不同复根。
*/
#include <iostream.h>
#include <math.h>
void main(){
double a,b, c, delta, re, im;
cout << "Please input a, b and c of the equation\n";
cout << "a quadratic equation a*x*x + b*x + c = 0\n";
cin >> a >> b >> c;
if (a == 0 && b == 0 && c == 0)
cout << "Data input error !\n";
else if (a == 0 && b == 0 && c != 0)
cout << "unsolvable !\n";
else if (a == 0 && b != 0)
cout << "root is " << -c/b;
else if (a != 0 && c == 0)
cout << "two roots are 0.0 and " << -b/a;
else{ // a != 0 && c != 0
re = -b / (2 * a);
delta = b * b - 4 * a * c;
if ( delta==0) cout << "both roots are " << re;
else if ( delta > 0) {
im = sqrt(delta) / (2.0 * a);
cout << "two roots are " << (re + im) <<" and " << (re - im);
}
else {
im = sqrt(abs(delta)) / (2.0 * a);
cout << "roots are complex " << re <<"+"<< im <<"i"
<<" and " << re <<"-"<< im << 'i';
}
}
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -