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

1.程序语言
#include<stdio.h>
#include<math.h>
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.结果演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值