本文编程学习网主要和大家介绍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]viewplaincopy
1.#include<stdio.h>
2.#include<math.h>
3.#defineEXP0.00000001
4.intmain()
5.{
6.doublea=0.0;
7.doubleb=0.0;
8.doublec=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.doubledisc=b*b-4*a*c;
17.
18.if((disc>=-EXP)&&(disc<=EXP))
19.{
20.printf("x=%lf\n",-b/(2*a));
21.}
22.elseif(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.return0;
35.}
以上就是“c语言一元二次方程求根程序”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网!
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10567/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料