C语言编写一元二次方程代码

#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c;
    printf("请输入方程的二次项a,一次项b,常数项c:");
    scanf("%lf%lf%lf",&a,&b,&c);
    printf("\n");
    if(a != 0)
    {
        double delta;
        delta = b*b - 4*a*c;
        if(delta > 0)
        {
            double x1,x2;
            x1 = (-b+sqrt(delta))/2*a;
            x2 = (-b-sqrt(delta))/2*a;
            printf("方程有两个不相等的实根,x1=%.3f x2=%.3f",x1,x2);
        }
        else if(delta == 0)
        {
            double x1,x2;
            x1 = x2 = -b/2*a;
            printf("方程有两个相等实根,x1=x2=%.3f",x1);
        }
        else
        {
            double x1s,x1x,x2s,x2x;

在C语言中,编写一元二次方程组的解法通常涉及到求根公式或者利用数值计算库,如`math.h`中的函数。例如,对于标准形式的一元二次方程ax^2 + bx + c = 0,我们可以使用下面的步骤: 1. 首先,计算判别式Δ = b^2 - 4ac。 2. 如果Δ > 0,有两个不同的实数解,使用公式x = [-b ± sqrt(Δ)] / (2a) 计算。 3. 如果Δ = 0,有一个重复的实数解,x = -b / (2a)。 4. 如果Δ < 0,方程无实数解,但是可以考虑复数解,这超出了C语言的标准处理范围。 以下是简单的代码示例,用于求解两个一元二次方程: ```c #include <stdio.h> #include <math.h> // 函数声明,解决 ax^2 + bx + c = 0 的解 void solve_quadratic(double a, double b, double c); int main() { double a, b, c; // 输入方程系数 printf("请输入一元二次方程的系数(a, b, c): "); scanf("%lf %lf %lf", &a, &b, &c); // 调用函数并打印结果 solve_quadratic(a, b, c); return 0; } // 解决函数 void solve_quadratic(double a, double b, double c) { double discriminant = b * b - 4 * a * c; if (discriminant > 0) { double root1 = (-b + sqrt(discriminant)) / (2 * a); double root2 = (-b - sqrt(discriminant)) / (2 * a); printf("方程有两个不同的实数解: x1 = %.2f, x2 = %.2f\n", root1, root2); } else if (discriminant == 0) { double root = -b / (2 * a); printf("方程有重复的实数解: x = %.2f\n", root); } else { printf("方程无实数解,但可能存在复数解。\n"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵩淮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值