求方程ax2+bx+c=0的根,用3个函数分别求当b2-4ac大于0,等于0,和小于0时的根并输出结果.从主函数a,b,
- 提问者网友:蓝琪梦莎
- 2021-03-07 15:59
用c语言编程,
- 五星知识达人网友:蕴藏春秋
- 2021-03-07 17:17
#include
#include
// b^2-4ac == 0
void fun1(double &a,double &b,double &c,double &d){
double ans = -b/(2*a);
printf(b^2-4ac == 0 , x1 = x2 = %lf.\n,ans);
}
// b^2-4ac > 0
void fun2(double &a,double &b,double &c,double &d){
double ans1,ans2;
ans1 = (-b+sqrt(d)) / (2*a);
ans2 = (-b-sqrt(d)) / (2*a);
printf(b^2-4ac > 0 , x1 = %lf , x2 = %lf.\n,ans1,ans2);
}
// b^2-4ac < 0
void fun3(double &a,double &b,double &c,double &d){
double real,imar;
real = -b/(2*a);
imar = sqrt(-d) / (2*a);
printf(b^2-4ac < 0 , x1 = %lf+%lfi , x2 = %lf-%lfi.\n,real,imar,real,imar);
}
int main(){
double a,b,c,d;
printf(please input a,b,c.\n);
while(scanf(%lf%lf%lf,&a,&b,&c)!=EOF){
d = b*b-4*a*c;
if(d==0) fun1(a,b,c,d);
else if(d>0) fun2(a,b,c,d);
else fun3(a,b,c,d);
printf(please input a,b,c.\n);
}
}