您的位置:首页 > 编程语言 > C语言/C++

C语言 求一元二次方程的解 语句

2016-09-22 23:40 260 查看

                                         求一元二次方程的解

本题是if语句的灵活使用,具体有4步:

(1)a=0,不是一元二次方程。

(2)b*b-4*a*c=0,有两个相同的实根。

(3)b*b-4*a*c>0.有两个不等实根。

(4)b*b-4*a*c<0,有两个共轭复根。#include<stdio.h>
#include<stdio.h>
#define EXP 0.00001
int main()
{
double a = 0.0,b = 0.0,c = 0.0;
scanf("%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))
{
double x=-b/(2*a);
printf("x1 = x2 =%lf\n",x);
}
else if(disc > 0.0)
{
double x1 =(-b+sqrt(disc))/(2*a),
x2 =(-b-sqrt(disc))/(2*a);
printf("x1 = %lf\n",x1);
printf("x2 = %lf\n",x2);
}
else
{
printf("有两个共轭复数\n");
}
}
return 0;
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: