(函数)求一元二次方程的根(C语言)

一、运行结果;

二、源代码;

cs 复制代码
# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
# include <math.h>

//声明函数;
//判断条件等于0时;
void zeor(double a, double b);

//判断条件大于0时;
void bigzeor(double p, double q);

//判断条件小于0时;
void smallzeor();

int main()
{
	//初始化变量值;
	double a, b, c, p, q, judge;

	//获取用户输入数据;
	printf("请输入a, b, c的值:");
	scanf("%lf %lf %lf", &a, &b, &c);

	//运算;
	judge = b * b - 4 * a * c;
	p = -b / (2.0 * a);
	q = sqrt(judge) / (2.0 * a);

	//判断;
	if (judge >= 0)
	{
		if (judge = 0)
		{
			//调用函数;
			zeor(a, b);
		}
		else
		{
			//调用函数;
			bigzeor(p, q);
		}
	}
	else
	{
		//调用函数;
		smallzeor();
	}

	return 0;
}

//实现zeor函数;
void zeor(double a, double b)
{
	//初始换变量值;
	double x1 = 0;
	double x2 = 0;

	//运算;
	x1 = x2 = (-2.0 * a) / b;

	//输出结果;
	printf("函数的根为:x1=x2=%.2f\n", x1);
	
}

//实现bigzeor函数;
void bigzeor(double p, double q)
{
	//初始换变量值;
	double x1 = 0;
	double x2 = 0;

	//运算;
	x1 = p + q;
	x2 = p - q;

	//输出结果;
	printf("函数的根为:x1=%.2f, x2=%.2f\n", x1, x2);

}

//实现smallzeor函数;
void smallzeor()
{
	//输出结果;
	printf("函数无根!\n");

}
相关推荐
To_OC10 小时前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC10 小时前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK12 小时前
线段树维护区间 k 次方和
c++·数学·算法·stl
_清歌1 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局1 天前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象1 天前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局1 天前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法
统计实现局1 天前
dqrsl 拆解:拿着 QR 结果能算出哪 5 种东西
算法
统计实现局1 天前
为什么 Cholesky 求逆比 Gauss-Jordan 快一倍——行列式溢出防护详
算法