摘要:本文主要向大家介绍了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+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号