编程学习网 > 编程语言 > C/C++开发 > c语言一元二次方程求根程序(C语言求一元二次方程的根)
2023
02-04

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]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语言教程欢迎持续关注编程学习网!

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取