第七章:7.2求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。从主函数输入a、b、c的值

//求方程a*x*x+b*x+c=0的根,用3个函数,分别求当:b*b-4*a*c大于0、等于0和小于0时的根并输出结果。

//从主函数输入a、b、c的值

cs 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
void s1(float a, float b, float c)
{
	float x1, x2;
	float tmp = b * b - 4 * a * c;
	x1 = (-b + sqrt(tmp)) / 2 * a;
	x2 = (-b - sqrt(tmp)) / 2 * a;
	printf("x1=%.2f\nx2=%.2f\n", x1, x2);
}
void s2(float a, float b, float c)
{
	float x1, x2;
	float tmp = b * b - 4 * a * c;
	x1 = (-b ) / 2 * a;
	x2 = (-b ) / 2 * a;
	printf("x1=%.2f\nx2=%.2f\n", x1, x2);
}
void s3(float a, float b, float c)
{
	float x1, x2;
	float p, q;
	float tmp = b * b - 4 * a * c;
	p = (-b) / 2 * a;
	q = (sqrt(-tmp)) / 2 * a;
	printf("x1=%.2f+%.2fi\nx2=%.2f-%.2fi\n", p, q, p, q);
}
int main()
{
	float a = 0.0, b = 0.0, c = 0.0;
	printf("请输入a的值:");
	scanf("%f", &a);
	printf("请输入b的值:");
	scanf("%f", &b);
	printf("请输入c的值:");
	scanf("%f", &c);
	if (b * b - 4 * a * c > 0)
	{
		s1(a, b, c);
	}
	else if (b * b - 4 * a * c == 0) 
	{
		s2(a, b, c);
	}
	else
	{
		s3(a, b, c);
	}
	return 0;
}

输出结果:

1.当b*b-4*a*c=0时

2.当b*b-4*a*c<0时

3.当b*b-4*a*c>0时

相关推荐
疯狂的喵4 小时前
C++编译期多态实现
开发语言·c++·算法
scx201310044 小时前
20260129LCA总结
算法·深度优先·图论
2301_765703144 小时前
C++中的协程编程
开发语言·c++·算法
m0_748708054 小时前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习5 小时前
【算法——c/c++]
c语言·c++·算法
lly2024065 小时前
jQuery Mobile 表格
开发语言
智码未来学堂5 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
惊讶的猫5 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
Halo_tjn5 小时前
基于封装的专项 知识点
java·前端·python·算法
春日见6 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶