c语言求一元二次方程的根
2016-11-15 20:42
302 查看
分析:
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>。
程序代码如下:
#include <stdio.h>
#include <math.h>
#define EXP 0.00000001
int main()
{
double a = 0.0;
double b = 0.0;
double c = 0.0;
scanf_s("%lf%lf%lf",&a,&b,&c);
if ((a>=-EXP)&&(a<=EXP))
{
printf("不是一元二次方程\n");
}
else
{
double disc = b*b-4*a*c;
if(( disc >= -EXP)&&( disc <= EXP))
{
printf("x = %lf\n",-b/(2*a));
}
else if ( disc > 0.0)
{
printf("x1 = x2 %lf, x2 = %lf\n",
(-b+sqrt(disc))/(2*a),
(-b-sqrt(disc))/(2*a));
}
else
{
printf("有两个共轭的复根\n");
}
}
return 0;
}
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>。
程序代码如下:
#include <stdio.h>
#include <math.h>
#define EXP 0.00000001
int main()
{
double a = 0.0;
double b = 0.0;
double c = 0.0;
scanf_s("%lf%lf%lf",&a,&b,&c);
if ((a>=-EXP)&&(a<=EXP))
{
printf("不是一元二次方程\n");
}
else
{
double disc = b*b-4*a*c;
if(( disc >= -EXP)&&( disc <= EXP))
{
printf("x = %lf\n",-b/(2*a));
}
else if ( disc > 0.0)
{
printf("x1 = x2 %lf, x2 = %lf\n",
(-b+sqrt(disc))/(2*a),
(-b-sqrt(disc))/(2*a));
}
else
{
printf("有两个共轭的复根\n");
}
}
return 0;
}
相关文章推荐
- c语言:求一元二次方程的跟,系数a,b,c由键盘输入(要求考虑所有情况)
- 用C语言求一元二次方程的根
- 用C语言求一元二次方程的解
- 【open Judge】c语言 20:求一元二次方程的根
- C语言 求一元二次方程的解 语句
- c语言:求一元二次方程的跟,系数a,b,c由键盘输入(要求考虑所有情况)
- 用C语言求一元二次方程的解
- 求一元二次方程的解
- 求一元二次方程的根
- Openjudge-计算概论(A)-求一元二次方程的根
- 分支-18. 求一元二次方程的根
- 编程求一元二次方程
- 作业————编程求一元二次方程。ax²+bx+c=0(a≠0)
- pat简单题:分支-18. 求一元二次方程的根
- 编程求一元二次方程的解
- 求一元二次方程的根
- Python-定义函数.练习题.求一元二次方程解
- 求一元二次方程(ax^2+bx+c)的根
- 第九周项目5-求一元二次方程的根
- 求一元二次方程的根