C语言-求根公式

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int  main()
{
	float a, b, c, disc;
	double x1;
	double x2;
	double q, p;
	double d;
	printf("请分别输入abc的值:");
	scanf("%f%f%f", &a, &b, &c);
	d = c / b;
	if (a==0)
	{
		printf("x=%lf", d);
	}
	else {
		disc = (b * b) - (4 * a * c);
		p = -b / (2 * a);
		q = sqrt(-disc) / (2 * a);
		x1 = (-b - sqrt(disc)) / (2 * a);
		x2 = (-b + sqrt(disc)) / (2 * a);
	}
	 if (disc > 0)
	{
		printf("x1 = %lf\tx2 = %lf", x1, x2);
	}
	else if (disc < 0)
	{
		printf("x1 = %lf+%lfi\n", p, q);
		printf("x1 = %lf-%lfi", p, q);
	}
	else if (disc == 0)
	{
		printf("x=x1=x2 = %lf", x1);
	}
	return 0;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 以下是用C语言编写求根公式求一元二次方程的代码: ```c #include <stdio.h> #include <math.h> int main() { float a, b, c; float delta, x1, x2; printf("请输入一元二次方程的系数:\n"); printf("a = "); scanf("%f", &a); printf("b = "); scanf("%f", &b); printf("c = "); scanf("%f", &c); delta = b * b - 4 * a * c; if(delta < 0) { printf("此方程无实数根!\n"); } else if(delta == 0) { x1 = x2 = -b / (2 * a); printf("此方程有两个相等的实数根:\n"); printf("x1 = x2 = %.2f\n", x1); } else { x1 = (-b + sqrt(delta)) / (2 * a); x2 = (-b - sqrt(delta)) / (2 * a); printf("此方程有两个不相等的实数根:\n"); printf("x1 = %.2f\n", x1); printf("x2 = %.2f\n", x2); } return 0; } ``` 使用此程序,可以输入一元二次方程的系数,然后计算出其实数根,并输出结果。其中,使用了数学库中的`sqrt()`函数来计算平方根。 ### 回答2: 要用C语言编写求根公式求解一元二次方程,可以按照以下步骤进行: 1. 首先,定义三个变量a、b、c,分别表示二次方程ax^2+bx+c=0中的系数a、b、c。可以使用float类型或double类型。 2. 接下来,使用scanf函数从用户输入获取a、b、c的值。例如: ```c printf("请输入二次方程的系数a:"); scanf("%f", &a); printf("请输入二次方程的系数b:"); scanf("%f", &b); printf("请输入二次方程的系数c:"); scanf("%f", &c); ``` 3. 接下来,根据一元二次方程的求根公式求解方程的根。公式为: ```c delta = b*b - 4*a*c; ``` 若delta大于0,则方程有两个不相等的实根;若delta等于0,则方程有两个相等的实根;若delta小于0,则方程没有实根。 4. 根据delta的值进行条件判断,然后使用sqrt函数计算平方根并计算方程的根。例如: ```c if (delta > 0) { x1 = (-b + sqrt(delta)) / (2*a); x2 = (-b - sqrt(delta)) / (2*a); printf("方程的两个根为 x1=%.2f, x2=%.2f\n", x1, x2); } else if (delta == 0) { x1 = x2 = -b / (2*a); printf("方程的两个根为 x1=x2=%.2f\n", x1); } else { printf("方程没有实根\n"); } ``` 5. 最后,根据步骤4计算的结果,使用printf函数输出方程的根或没有实根的提示。 以上就是用C语言编写求根公式求解一元二次方程的方法。根据步骤编写完整的代码后,即可运行并调用该函数进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妄想成为恶犬的柯基

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值