第七章: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时

相关推荐
虾球xz4 分钟前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
阿蒙Amon1 小时前
C#扩展方法全解析:给现有类型插上翅膀的魔法
开发语言·c#
尘浮7281 小时前
60天python训练计划----day59
开发语言·python
三维重建-光栅投影1 小时前
VS中将cuda项目编译为DLL并调用
算法
Chef_Chen2 小时前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
不学会Ⅳ2 小时前
Mac M芯片搭建jdk源码环境(jdk24)
java·开发语言·macos
好开心啊没烦恼3 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas
lljss20204 小时前
Python11中创建虚拟环境、安装 TensorFlow
开发语言·python·tensorflow
课堂剪切板4 小时前
ch03 部分题目思路
算法
山登绝顶我为峰 3(^v^)35 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex