C语言编程入门之求一元二次方程的根
Vivian 2018-06-19 来源 : 阅读 6579 评论 0

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

本文主要向大家介绍了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<math.h>。

程序代码如下:

[cpp] view plain copy
1. #include <stdio.h>  
2. #include <math.h>  
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+频道!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 5 不喜欢 | 9
看完这篇文章有何感觉?已经有14人表态,36%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程