求方程aX*X+bX+c=0的根,用三个函数分别求当b*b-4ac大于0,等于0和小于0时的根并输出结果,从主函数输入a,b,c的值。

1.程序语言
#include
#include
void WT1(float a, float b, float c,float disc);
void WT2(float a, float b, float c,float disc);
void WT3(float a, float b, float c,float disc);
void main()
{
float disc;
float a, b, c, x1, x2;
printf(“请输入三个数”);
scanf("%f%f%f", &a, &b, &c);
if (fabs(a) <= 1e-6) `` //判定是否为二元一次方程;
{
printf(“不是二元一次方程,请重新输入”);
}
else
{
disc = bb - 4 * ac;

	if (fabs(disc) <=1e-6)              //有两个相等的实数根的情况
	{
		WT1(a, b, c,disc);
	}
	else if (disc > 1e-6)               //有两个不等的实数根的情况
	{
		WT2(a, b, c,disc);
	}
	else                                //有复数根的情况
	{
		WT3(a, b, c,disc);
	}
}

}
void WT1(float a, float b, float c,float disc) //定义根
{
float x1;
x1 = -b / (2 * a);
printf(“有两个相等的实数根:%8.4f\n”,x1);
}
void WT2(float a, float b, float c,float disc)
{
float x1, x2;
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
printf(“有两个不相等的实数根:%8.4f and %8.4f\n”, x1, x2);
}
void WT3(float a, float b, float c,float disc)
{
float realpart, imagpart;
realpart = -b / (2 * a);
imagpart = sqrt(-disc) / (2 * a);
printf(“有复根:\n”);
printf("%8.4f+%8.4fi\n", realpart , imagpart);
printf("%8.4f-%8.4fi\n", realpart , imagpart);
}`
2.结果演示
求方程aX*X+bX+c=0的根,用三个函数分别求当b*b-4ac大于0,等于0和小于0时的根并输出结果,从主函数输入a,b,c的值。_第1张图片
求方程aX*X+bX+c=0的根,用三个函数分别求当b*b-4ac大于0,等于0和小于0时的根并输出结果,从主函数输入a,b,c的值。_第2张图片
求方程aX*X+bX+c=0的根,用三个函数分别求当b*b-4ac大于0,等于0和小于0时的根并输出结果,从主函数输入a,b,c的值。_第3张图片

你可能感兴趣的:(求方程aX*X+bX+c=0的根,用三个函数分别求当b*b-4ac大于0,等于0和小于0时的根并输出结果,从主函数输入a,b,c的值。)