求方程ax^2+bx+c=0的根,用3个函数分别求当b^2-4ac大于0、等于0和小于0时的根,并输出结果。 从主函数输入a, b, c的值。

/*求方程ax^2+bx+c=0的根,用3个函数分别求当b^2-4ac大于0、等于0和小于0时的根,并输出结果。
从主函数输入a, b, c的值。*/

#include <STDIO.H>
#include <MATH.H>

//大于0的情况
void fun1(float a,float b,float d)
{
	float x1,x2;
	x1 = (-b + sqrt(d))/(2 * a);
	x2 = (-b - sqrt(d))/(2 * a);
	printf("此方程的解是:%f和%f\n",x1,x2);
}

//等于0的情况
void fun2(float a,float b,float d)
{
	float x1;
	x1 = (-b) / (2 * a);
	printf("此方程的解是:%f\n",x1);
}

//小于0的情况
void fun3()
{
	printf("此方程无解!\n");
}

int main()
{
	float a,b,c,d;

	printf("请输入方程:\n");
	printf("a是:");
	scanf("%f",&a);
	printf("b是:");
	scanf("%f",&b);
	printf("c是:");
	scanf("%f",&c);

	d = pow(b,2) - (4 * a * c);

	if (d > 0)
	{
		fun1(a,b,d);
	}
	if (d == 0)
	{
		fun2(a,b,d);
	}
	if (d < 0)
	{
		fun3();
	}
}

谭浩强C程序设计(第四版)p218第2题

发布了87 篇原创文章 · 获赞 9 · 访问量 8572

猜你喜欢

转载自blog.csdn.net/qq_40834200/article/details/105096987
今日推荐