php语言求二次方程根,C语言编程入门之求一元二次方程的根

本文介绍了如何使用C语言编程解决一元二次方程的求根问题。针对不同判别式情况,分别给出方程无解、两个相等实根和两个不等实根的解法,并强调了在处理浮点数时的精度判断及使用sqrt函数时需包含头文件。同时,提供了完整的C语言代码示例。
摘要由CSDN通过智能技术生成

本文主要向大家介绍了C语言编程入门的求一元二次方程的根,通过具体的代码向大家展示,希望对大家学习C语言编程入门有所帮助。

分析:

1.  当a = 0: 不是一个一元二次方程;

2.  当a!=0: (1)当b^2-4ac=0,方程有两个相等的实根,x1=x2=-b/2a;

(2)当b^2-4ac>0,方程有两个不相等的实根,x1=(-b+√(b^2-4ac))/(2a), x2=(-b-√(b^2-4ac))/(2a);

(3)当b^2- 4ac<0,方程有一组共轭复根;

3.方程的根在很多情况下是小数,因此在定义变量时不能用整型,可以用浮点型或者double型;

4.对于变量与零值进行比较时,不能讲浮点变量用“==”或“!=”与任何数字进行比较,可以使用#define 定义一个精度,在使用时只要在给定的范围内,将其近似为0;

5.使用函数sqrt必须引用头文件#include。

程序代码如下:[cpp] view plain copy

1. #include 

2. #include 

3. #define EXP 0.00000001

4. int main()

5. {

6.     double a = 0.0;

7.     double b = 0.0;

8.     double c = 0.0;

9.     scanf_s("%lf%lf%lf",&a,&b,&c);

10.     if ((a>=-EXP)&&(a<=EXP))

11.     {

12.         printf("不是一元二次方程\n");

13.     }

14.     else

15.     {

16.         double disc = b*b-4*a*c;

17.

18.         if(( disc >= -EXP)&&( disc <= EXP))

19.         {

20.             printf("x = %lf\n",-b/(2*a));

21.         }

22.         else if ( disc > 0.0)

23.         {

24.             printf("x1 = x2 %lf, x2 = %lf\n",

25.                 (-b+sqrt(disc))/(2*a),

26.                 (-b-sqrt(disc))/(2*a));

27.         }

28.         else

29.         {

30.             printf("有两个共轭的复根\n");

31.         }

32.     }

33.

34.     return 0;

35. }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值