📄 ex_root.cpp
字号:
#include <iostream.h>
#include <math.h>
int GetRoot(float a, float b, float c, double *root); /* 声明一个全局函数 */
void main()
{
float a = 2.0, b = 6.0, c = 3.0; // 定义并初始化变量
double root[2];
int n = GetRoot(a, b, c, root); // 调用函数
if (n<1)
cout<<"方程无根!";
else {
cout<<"方程有 "<<n<<" 根:\n";
for (int i=0; i<n; i++) // 循环输出所有的根
cout<<"根"<<i+1<<": "<<root[i]<<"\t";
}
cout<<endl;
}
// 求一元二次方程的根,函数返回根的个数
int GetRoot(float a, float b, float c, double *root)
{
double delta, deltasqrt;
delta = b*b - 4.0 * a * c;
if (delta<0.0) return 0; // 无根
deltasqrt = sqrt(delta);
if (a!=0.0)
{
root[0] = (-b + deltasqrt)/(2.0 * a);
root[1] = (-b - deltasqrt)/(2.0 * a);
} else {
if (b!=0.0) root[0] = root[1] = -c/b;
else return 0;
}
if (root[0] == root[1]) return 1;
else return 2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -