实例(C++解一元二次方程)
例1:解一元二次方程
算法描述
输入a,b,c;
如果a=0,
如果b=0,输出“输出的系数不构成方程”;
否则(即b≠0)
计算单根x=-c/b
输出单根x
否则(即a≠0)
计算delta=bb-4ac
如果delta>0
delta=sqrt(delta)
输出x1=(-b+delta)/2a和x2=(-b-delta)/2a
否则
**delta=sqre(-delta)
输出复根:
x1=-b/2a+jdelta/2a
x2=-b/2a-j*delta/2a(注意:j为虚数单位)**
结束
源程序
#include<iostream> //包含需要的头文件
#include<cmath> //求根函数sqrt需要的头文件
using namespace std; //名字空间
int main() //主函数
{ double a,b,c; //定义变量保存系数
double delta; //表示根的判别式
double x,x1,x2; //表示根
cout<<"请输入一元二次方程的三个系数a,b,c:";
cin>>a>>b>>c; //输入一元二次方程的系数
if(a==0) //二次项系数等于0
{if(b==0) //一次项系数也为0,不是方程cout<<"输入的系数不构成方程"<<endl;}else //二次项系数等于0,一次项系数不为0{x=-c/b; //计算单根cout<<"实际为一元一次方程,根为"<<x<<endl;}
}
else //二次项系数不为0
{ delta=b*b-4.0*a*c; //计算判别式的值
if(delta>=0) //判别式大于等于0,有实根
{delta=sqrt(delta); //判别式开方
x1=(-b+delta)/2.0/a; //根1
x2=(-b-delta)/2.0/a; //根2
cout<<"方程有实根,它们是:"<<endl;
cout<<"x1="<<x1<<",x2="<<x2<<endl;
}
else //判别式小于0,有复根
{ delta=sqrt(-delta) //判别式变号开方
x1=-b/2.0/a; //实部
x2=delta/2.0/a; //虚部
cout<<"方程有复根,它们是:"<<endl;
cout<<"x1="<<x1<<"+j"<<x2<<",x2="<<x1<<"-j"<<x2<<endl;}
}
return 0;
}
总结:
- 本例中的程序和算法有很强的对应关系。
- 由于c++中没有复数类型,所以程序中先计算复数的实部和虚部,在输出时构造复数形式。
- 程序中使用了if语句的嵌套。
实例(C++解一元二次方程)相关推荐
- 用python写一个解一元二次方程的类
第一步 明确需要的变量 要解一元二次方程,肯定先把它化成一般式:ax^2+bx+c=0,我们需要用到的参数是a,b,c还有一个判别式"▲" ,可以随意给个名字,我这里给的g. 第二 ...
- Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 ...
- 一元三次方程重根判别式_许兴华——关于复数集中解一元二次方程的问题
在学习复数时,最近有个别比较好学的同学提出一个问题: "对于复数系数一元二次方程,是否可以用求根公式求解呢?" --回答是肯定的! 关于复数集中解一元二次方程的问题.其实,在复数集 ...
- 问题三十七:C++怎么解一元四次方程?(1)——怎么解一元二次方程
37.1 怎么解一元二次方程? ----------------------------------------------main.cpp ----------------------------- ...
- Python_解一元二次方程
#解一元二次方程 import math a = int(input("请输入系数a")) b = int(input("请输入系数b")) c = float ...
- 编写lisp程序解一元二次方程_vb解一元二次方程代码
Vb 程序解一元二次方程 以下是程序代码 需要的控件 7 个 label 3 个 text 一个 command Private Sub Command1_Click() Dim a, b, c, d ...
- C语言:解一元二次方程
C语言实验题――一元二次方程 描述 解一元二次方程ax2+bx+c=0的解. 输入 输入三个实数a,b,c的值,且a不等于0. 输出 输出两个根X1和X2,用空格隔开,具体格式为: X1 X2 其中大 ...
- 解一元二次方程——Java
解一元二次方程: 可以使用下面的公式求元二次方程ax*x+bx+c=0的两个根: b*b- 4ac称作一元二次方程的判别式.如果它是正值,那么一元二次方程就有两个实数根.如果它为0,方程式就只有一个根 ...
- 解一元二次方程lisp_lisp语言编写lisp程序解二元一次方程组和一元二次方程组应该怎么做...
附上相关程序,请审核. ;-------------------------解二元一次方程组------------------------ (defun 1y1c (a c) (if (/= a 0 ...
- Numpy 解一元二次方程
Numpy 解一元二次方程 1.poly1d() 函数 p1 = np.poly1d([2, 3, 5, 7])print(p1, p1.r) # 2x^3+3x^2+5x+7 [-0.0272357 ...
最新文章
- 从IBM“廉政”说企业内控
- 一段C语言和汇编的对应分析,揭示函数调用的本质
- 计算机视觉和模式识别领域SCI期刊介绍
- Ros学习topic——小海龟
- jsf tree组件_JSF:在传统组件和时尚性能杀手之间进行选择
- python 示例_Python TextCalendar类别| pryear()方法与示例
- HTMl5的存储方式sessionStorage和localStorage详解
- Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
- Ubuntu 安装 Kafka
- 图像处理之形态学梯度计算
- 【Cf #503 C】Sergey's problem(有趣的构造)
- css中关于居中的问题
- 视频教程-SAP S4 HANA财务模块入门到精通-ERP
- IDEA合并SVN分支代码到主干
- 中级软件设计师笔记全套 看完你就过啦
- python二元函数图像在线绘制_numpy,matplotlib
- 没有百万调音师,用大数据+AI 也能让用户的声音更动听
- 什么是c++运行库?
- 音视频常见问题分析和解决:延时和抖动
- srgb色彩空间_网页设计师的色彩:了解sRGB