使用工具:
Dev-C++ 5.11
解题思路:
直接定义全局变量,这样方便调用。 在主函数就写好b*b-4*a*c的值,创造的三个求根函数,只需要设置a,b两个形参,因为求根公式只是涉及了这两个系数。最后在主函数运用if来判断b*b-4*a*c的大小,满足条件应该运用的函数即可。
参考代码:
#include<stdio.h>
#include<math.h>
double a,b,c,x1,x2,disc,p,q;//全局变量-global variable
int main()
{
void one_solution(double a,double b);
void two_solutions(double a,double b);
void unsolvable(double a,double b);
printf("input a,b,c:\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>0)
{
two_solutions(a,b);
printf("x1=%lf,x2=%lf",x1,x2);
}
else if(disc==0)
{
one_solution(a,b);
printf("x1=x2=%lf",x1);
}
else
{
unsolvable(a,b);
printf("x1=%lf+%lfi,x2=%lf-%lfi",p,q,p,q);
}
}
double one_solution(double a,double b)
{
x1=x2=(-b)/(2*a);
}
double two_solutions(double a,double b)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
}
double unsolvable(double a,double b)
{
p=-b/(2*a);
q=sqrt(-disc)/(2*a);
}
运行结果: