/*

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语言程序,一元三次方程求解相关推荐

  1. c语言输入一元二次方程三个系数,C语言程序 一元二次方程

    //求一元二次方程:ax2+bx+c=0(a≠0)的解 #include #include main() { int a,b,c; double x1,x2,delta; char ch; print ...

  2. 夫妻过河 c语言程序,终稿求解夫妻过河问题.doc最终版(范文1)

    <求解夫妻过河问题.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)求解夫妻过河问题.doc(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库 ...

  3. 用追赶法求方程组c语言程序,数值计算——追赶法求解三对角方程组(附代码)...

    目录 追赶法基础理论 追赶法c++程序代码 程序运行结果 源码文件下载地址 追赶法基础理论 在数值计算中,对三次样条曲线插值和用差分方法求解常微分方程边值问题时,通常会遇到Ax=d三对角形式的方程组: ...

  4. c语言程序 用追赶法求解方程组,编写用追赶法解三对角线性方程组的程序,并解下列方程组(3页)-原创力文档...

    计算方法与实习上机实验(二) 实验名称: 编写用追赶法解三对角线性方程组的程序,并解下列方程组: (1) (2)Ax=b,其中 A10×10=, b10×1= 程序代码: #include using ...

  5. 一元二次函数c语言,计算一元二次函数的根,大家看看那里有错了。。。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序里错误很多,我帮你该了一下: #include #include float x1,x2,a,b,c,t,p,q; int main() { void ...

  6. c语言程序 用追赶法求解方程组,编写用追赶法解三对角线性方程组的程序,并解下列方程组...

    计算方法与实习上机实验(二) 实验名称: 编写用追赶法解三对角线性方程组的程序,并解下列方程组: 2x1 x2 5, x 2x x 12, 123(1) x 2x x 11,34 2 x3 2x4 1 ...

  7. C语言程序——计算一元二次方程ax^2+bx+c=0的根

    文章目录 前言 一.求解一元二次方程的根 二.程序实例 1.程序代码 2.运行结果 3.结果分析 总结 前言 求解一元二次方程的根,由键盘键入系数,输出方程的根. 一.求解一元二次方程的根 这种问题解 ...

  8. R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化、并添加y=0的水平横线)、uniroot函数求解方程的根(并添加方程根对应的垂直竖线)

    R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化.并添加y=0的水平横线).uniroot函数求解方程的根(并添加方程根对应的垂直竖线) 目录

  9. 【C语言程序设计】C语言实现一元二次方程的求解

    一元二次方程的一般形式: 分析求解过程: 当a=0,不能构成一元二次方程. 当b=0,不一定能构成等式 当c=0,即为恒等式0=0 当a不等于0,可构成一元二次方程,考虑实根和虚根 基于伪代码,实现一 ...

  10. c语言程序算一元二次方程,如何用C语言来计算一元二次方程

    C语言实现一元二次方程的解 源程序 #include #include float x1,x2,p,q,d; float great_than_zero(float,float); float equ ...

最新文章

  1. python实现Linux命令wget
  2. python 装饰器分类_Python 装饰器(Decorators) 超详细分类实例
  3. zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)
  4. new thread后会阻塞主程序吗_阻塞模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?...
  5. DLog-M有什么用
  6. linux检测摄像头驱动程序,linux usb 摄像头测试软件
  7. 百度地图API 拾取坐标
  8. 求两个数最大公因数(直接求、辗转相除法)、最小公倍数
  9. SRE(站点可靠性工程)介绍
  10. 费马大定理四分之一解决
  11. Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络...
  12. 【ELT.ZIP】OpenHarmony啃论文俱乐部——浅析稀疏表示医学图像
  13. 终于来了!腾讯数据分析证书!
  14. 腾讯云轻量应用服务器月流量包用完超额了怎么计费?
  15. Matplotlib做图第一节
  16. uni-app注册全局组件
  17. Create BD link
  18. 入门板绘又应该注意什么呢? 板绘初学者怎么练线稿
  19. Java精品项目源码第109期精美风在线音乐网站
  20. 菜鸟网络与顺丰达成和解 确保数据安全进行合作

热门文章

  1. 天梯 L1 Practic1 题解合集
  2. ARM920T虚拟地址原理分析及实现
  3. 编辑器——sublime
  4. 2022 携程提前批大数据一二(oc) 面经
  5. 三种主流芯片架构简单比较
  6. 芯片架构分类 - CISC 和 RISC
  7. 简单谈谈编程语言(一)
  8. 用PS调出二次元风格水彩漫画风景图片
  9. 旋转矩阵(维基百科)
  10. 八卦图php怎么做,揭秘伏羲是如何画出神奇的八卦图的?