ex_root.cpp

来自「郑阿齐VC教材」· C++ 代码 · 共 36 行

CPP
36
字号
#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 + =
减小字号Ctrl + -
显示快捷键?