一元三次方程c语言程序,一元三次方程求解
/*
Name: 一元三次方程求解
Copyright:
Author:
Date: 22-01-18 15:08
Description: 一元三次方程求解
总时间限制: 1000ms 内存限制: 65536kB
描述
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。
给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),
且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。
输入
一行,包含四个实数a,b,c,d,相邻两个数之间用单个空格隔开。
输出
一行,包含三个实数,为该方程的三个实根,按从小到大顺序排列,相邻两个数之间用单个空格隔开,精确到小数点后2位。
样例输入
1.0 -5.0 -4.0 20.0
样例输出
-2.00 2.00 5.00
*/
#include
#include
#include
#include
using namespace std;
double f(double x);
void Fun1(); //枚举法,枚举每一个解看是否成立。
void Fun2(); //枚举法,枚举每一个解看是否成立。
void Fun3(); //分治法,枚举区间,看解存在于哪个区间里,逐渐缩小区间范围,确定解。
double a,b,c,d;
int main()
{
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
Fun1();
Fun2();
Fun3();
}
void Fun1()
{
for (double x=-100;x<=100;x+=0.01)
{
if (abs(a*x*x*x+b*x*x+c*x+d)<=0.000001)//相当于f(x-0.0005)*f(x+0.0005)<=0
printf("%.2f ",x);
}
cout << endl;
}
void Fun2()
{
for (double x=-100;x<=100;x+=0.01)
{
if (f(x-0.0005)*f(x+0.0005)<=0)
printf("%.2f ",x);
}
cout << endl;
}
void Fun3()
{
double x,x1,x2,xx;
for (x=-100;x<=100;x+=1)
{
x1=x;x2=x+1;
if (f(x1)==0)
printf("%.2f ",x1);
else if (f(x1)*f(x2)<0)
{
while (x2-x1>=0.001)
{
xx=(x1+x2)/2;
if ((f(x1)*f(xx))<=0)
x2=xx;
else x1=xx;
}
printf("%.2f ",x1);
}
}
cout << endl;
}
double f(double x)
{
return a*x*x*x+b*x*x+c*x+d;
}
一元三次方程c语言程序,一元三次方程求解相关推荐
- c语言输入一元二次方程三个系数,C语言程序 一元二次方程
//求一元二次方程:ax2+bx+c=0(a≠0)的解 #include #include main() { int a,b,c; double x1,x2,delta; char ch; print ...
- 夫妻过河 c语言程序,终稿求解夫妻过河问题.doc最终版(范文1)
<求解夫妻过河问题.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)求解夫妻过河问题.doc(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库 ...
- 用追赶法求方程组c语言程序,数值计算——追赶法求解三对角方程组(附代码)...
目录 追赶法基础理论 追赶法c++程序代码 程序运行结果 源码文件下载地址 追赶法基础理论 在数值计算中,对三次样条曲线插值和用差分方法求解常微分方程边值问题时,通常会遇到Ax=d三对角形式的方程组: ...
- c语言程序 用追赶法求解方程组,编写用追赶法解三对角线性方程组的程序,并解下列方程组(3页)-原创力文档...
计算方法与实习上机实验(二) 实验名称: 编写用追赶法解三对角线性方程组的程序,并解下列方程组: (1) (2)Ax=b,其中 A10×10=, b10×1= 程序代码: #include using ...
- 一元二次函数c语言,计算一元二次函数的根,大家看看那里有错了。。。。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序里错误很多,我帮你该了一下: #include #include float x1,x2,a,b,c,t,p,q; int main() { void ...
- c语言程序 用追赶法求解方程组,编写用追赶法解三对角线性方程组的程序,并解下列方程组...
计算方法与实习上机实验(二) 实验名称: 编写用追赶法解三对角线性方程组的程序,并解下列方程组: 2x1 x2 5, x 2x x 12, 123(1) x 2x x 11,34 2 x3 2x4 1 ...
- C语言程序——计算一元二次方程ax^2+bx+c=0的根
文章目录 前言 一.求解一元二次方程的根 二.程序实例 1.程序代码 2.运行结果 3.结果分析 总结 前言 求解一元二次方程的根,由键盘键入系数,输出方程的根. 一.求解一元二次方程的根 这种问题解 ...
- R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化、并添加y=0的水平横线)、uniroot函数求解方程的根(并添加方程根对应的垂直竖线)
R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化.并添加y=0的水平横线).uniroot函数求解方程的根(并添加方程根对应的垂直竖线) 目录
- 【C语言程序设计】C语言实现一元二次方程的求解
一元二次方程的一般形式: 分析求解过程: 当a=0,不能构成一元二次方程. 当b=0,不一定能构成等式 当c=0,即为恒等式0=0 当a不等于0,可构成一元二次方程,考虑实根和虚根 基于伪代码,实现一 ...
- c语言程序算一元二次方程,如何用C语言来计算一元二次方程
C语言实现一元二次方程的解 源程序 #include #include float x1,x2,p,q,d; float great_than_zero(float,float); float equ ...
最新文章
- python实现Linux命令wget
- python 装饰器分类_Python 装饰器(Decorators) 超详细分类实例
- zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)
- new thread后会阻塞主程序吗_阻塞模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?...
- DLog-M有什么用
- linux检测摄像头驱动程序,linux usb 摄像头测试软件
- 百度地图API 拾取坐标
- 求两个数最大公因数(直接求、辗转相除法)、最小公倍数
- SRE(站点可靠性工程)介绍
- 费马大定理四分之一解决
- Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络...
- 【ELT.ZIP】OpenHarmony啃论文俱乐部——浅析稀疏表示医学图像
- 终于来了!腾讯数据分析证书!
- 腾讯云轻量应用服务器月流量包用完超额了怎么计费?
- Matplotlib做图第一节
- uni-app注册全局组件
- Create BD link
- 入门板绘又应该注意什么呢? 板绘初学者怎么练线稿
- Java精品项目源码第109期精美风在线音乐网站
- 菜鸟网络与顺丰达成和解 确保数据安全进行合作