C语言编程求一元二次方程的根

引言

       一元二次方程一般式为:aX^2+bX+c=0(a≠0), 它的根很好求,求根公式为x=\frac{-b\pm \sqrt{b^{2}-4ac}}{2a},其中有个重要的判别式Δ。

        当Δ=b^{2}-4ac(Δ>=0)时,方程有两个实数根

        当Δ=b^{2}-4ac(Δ < 0)时,方程没有实数根


思考

        要想正确得出一元二次方程的实数根,先要确定二次项系数a的值不能为零,再确定判别式Δ的值大于或等于0

        求根公式中有开方计算,头文件中就要有math.h,可以调用开方函数sqrt()

        另外,各系数可能是小数。


代码

/*********************************************************************
    程序名: 求一元二次方程的两根
    版权: 24-05-09 AChenXunmeng
    作者: AChen
    日期: 2024-05-08 18:05
    说明:希望对大家有所帮助
*********************************************************************/
#include <stdio.h>
#include <math.h>
int main()
{
  double a, b, c, d;
  double x1, x2;
  printf("请输入一元二次一般式方程的系数\n");
  scanf("%lf %lf %lf", &a, &b, &c);
  if (a == 0)
    printf("输入错误,a不能等于0");
  else
    {
      d = b * b - 4 * a * c;
      if (d >= 0)
        {
          x1 = (-b + sqrt(d)) / (2 * a);
          x2 = (-b - sqrt(d)) / (2 * a);
          printf("\n%.0lfx^2+%.0lfx+%.0lf=0的两解为:\nx1=%.2lf,x2=%.2lf\n", a, b, c, x1, x2);
        }
      else
        printf("\n%.0lfx^2+%.0lfx+%.0lf=0没有实数根:\n", a, b, c);
    }
  return 0;
}

结果如下:


总结

        编写时要考虑周全,否则可能会得不到想要的结果。

        %.0lf一般输出整数形式,二般输出两位小数

        请大家按时吃饭,按时锻炼,笑口常开,好运自然来haha。

By ChenXunmeng

24-05-08 19:19

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值