练习题004:一元二次方程求解
C语言练习题目录索引
题目:二元一次方程的形式一般是 ax2+bx+c=0ax2+bx+c=0 ax^2+bx+c=0(a不能为0),输入a、b、c,求这个二元一次方程的解。
解题思路:首先我们得清楚二元一次方程求解公式:x=−b±b2−4ac√2ax=−b±b2−4ac2ax=\frac{-b\pm \sqrt{b^2-4ac}}{2a},其次要清楚二元一次方程的性质。Δ=b2−4ac−−−−−−−√Δ=b2−4acΔ=\sqrt{b^2-4ac}
①最高项系数不能为0,即(a != 0);
②如果Δ=0,那方程有两个相同的解;
③如果Δ>0,那方程有两个不同的解;
④如果Δ<0,那方程无解。
最后这里要注意,这里定义的变量都是double型的,而double类型变量和0比较不能直接进行,这里我们先定义一个精度EOX,如果一个数落在[-EOX, EOX]这个闭区间内,我们就认为在某个精度内它的值与零值相等。
#define EOX 0.000001
//代码中的数值都是浮点数,如果和int型的0比较大小就会发生错误,所以此处我自己定义了一个精度,(-EXO,EXO)区间代表0void Equationsolving(double a, double b, double c)
{if ((a >= -EOX) && (a =< EOX))//如果a在[-EXO,EXO]区间内代表a=0,那就不是一个一元二次方程printf("这不是一个一元二次方程\n");else{double d = b*b - 4*a*c; double x1 = (-b + sqrt(d)) / 2 * a; //两个求解的公式double x2 = (-b - sqrt(d)) / 2 * a;if (d > EOX) //d大于零,方程有两个不同的解{printf("该方程有两个不同的解:x1 = %lf, x2 = %lf\n", x1, x2);}else if ((d > -EOX) && (d < EOX)) //d等于零,方程有两个相同的解{printf("该方程有两个相同的解:x1 = x2 = %lf\n", x1);}else if (d < -EOX){printf("该方程无解\n"); // d小于零,方程无解}}
}int main()
{printf("请输入要求解的一元二次方程的三个系数a,b,c的值:");double a = 0;double b = 0;double c = 0;scanf_s("%lf%lf%lf", &a, &b, &c); //从键盘上输入a,b,c的值Equationsolving(a, b, c); system("pause"); return 0;
}
练习题004:一元二次方程求解相关推荐
- JAVA学习-JAVA实现一元二次方程求解
JAVA实现一元二次方程求解 求3X2+4X-1=0的根 代码: public class SolveEquation {//定义公共类public static void main(String[] ...
- c语言对分求解方程,用C语言对一元二次方程求解
一元二次方程标准形式为 ax²+bx+c=0,且a≠0. 在用C语言求值时,需要先判断给出的a.b.c三值是否满足一元二次方程,即判断a是否为0. 当a=0时,输出(不是一元二次方程): 当a≠0时, ...
- python解一元二次方程复数_一元二次方程求解(包括复数各种情况)
/*无聊时候写的,我想每个入门的编程都会拿着个练手把,多的不说,我们来谈谈正经的--此功能实现一元二次方程求解,复数情况,输入字符处理判断是否为数字*/ import os import math i ...
- 1412202035-hpu-1003:C语言考试练习题_一元二次方程
1003: C语言考试练习题_一元二次方程 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 12 Solved: 6 [ Submit][ Sta ...
- 用C语言对一元二次方程求解
一元二次方程标准形式为 ax²+bx+c=0,且a≠0. 在用C语言求值时,需要先判断给出的a.b.c三值是否满足一元二次方程,即判断a是否为0. 当a=0时,输出(不是一元二次方程): 当a≠0时, ...
- 一元二次方程求解(C语言版)
int main(){//一元二次方程求解 double a,b,c;double x1,x2,s,p,q;printf("请输入ax^2+bx+c=0的a,b,c\n");pri ...
- 一元二次方程求解的实现
一元二次方程求解首先理思路,第一判断a是否为0来判断是否为一元二次方程,第二判断b^2-4ac的正负,第三根据求根公式来求解. #include <stdio.h> #include &l ...
- 算法创作 | 一元二次方程求解问题解决方法
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 键盘输入a,b,c,作为一元二次方程的系数,求解. 示例:ax^2+bx+c=0 输入:a= ...
- Python:一元二次方程求解
#python一元二次方程求解 # bglei@nuaa.edu.cn 2022年5月11日 import math z=input('输入一元二次方程系数:').split() a,b,c=floa ...
- python实现一元二次方程求解
python实现一元二次方程求解 import random a=float(input("请输入a: "))b=float(input("请输入b: "))c ...
最新文章
- php实时股票,php获得股票数据
- python3 导入上级目录中的模块
- python画散点图分布-python画图汇总(持续更新)
- Flink-on-yarn
- php获取总共内存_php获取页面运行使用内存的两个函数
- 为什么手机游戏手柄没有流行起来?
- 熊猫分发_流利的熊猫
- linux ntfs 用户权限,linux权限及ntfs文件系统权限的知识
- 使用iframe实现在pc端预览移动端页面的效果
- 阿里P7跳槽后曝光薪资截图:新公司月入税后五万多,很满足!
- matlab三维矩阵_Matlab绘制三维表面模型说明
- cad命令栏还原默认_将CAD恢复到默认界面的两种方法,来看看吧
- java 纳秒 毫秒,时钟周期-秒、毫秒、微秒、纳秒之间的换算
- java工作日和节假日判断
- 【利用树莓派制作无线打印服务器】
- SharePoint 2010 Webpart 部署 报错的解决方法
- 数独游戏开发——计时器实现
- 开源的分布式文件系统GlusterFS(Gluster File System)
- 微型计算机原理8255并行接口实验,微机原理实验二 8255A并行接口应用.pdf
- 《瀚兰房地产开发区块链应用及案例分享》BSN培训精华回顾