例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+j
delta/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;
}

总结:

  1. 本例中的程序和算法有很强的对应关系。
  2. 由于c++中没有复数类型,所以程序中先计算复数的实部和虚部,在输出时构造复数形式。
  3. 程序中使用了if语句的嵌套。

实例(C++解一元二次方程)相关推荐

  1. 用python写一个解一元二次方程的类

    第一步 明确需要的变量 要解一元二次方程,肯定先把它化成一般式:ax^2+bx+c=0,我们需要用到的参数是a,b,c还有一个判别式"▲" ,可以随意给个名字,我这里给的g. 第二 ...

  2. Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果

    *3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 ...

  3. 一元三次方程重根判别式_许兴华——关于复数集中解一元二次方程的问题

    在学习复数时,最近有个别比较好学的同学提出一个问题: "对于复数系数一元二次方程,是否可以用求根公式求解呢?" --回答是肯定的! 关于复数集中解一元二次方程的问题.其实,在复数集 ...

  4. 问题三十七:C++怎么解一元四次方程?(1)——怎么解一元二次方程

    37.1 怎么解一元二次方程? ----------------------------------------------main.cpp ----------------------------- ...

  5. Python_解一元二次方程

    #解一元二次方程 import math a = int(input("请输入系数a")) b = int(input("请输入系数b")) c = float ...

  6. 编写lisp程序解一元二次方程_vb解一元二次方程代码

    Vb 程序解一元二次方程 以下是程序代码 需要的控件 7 个 label 3 个 text 一个 command Private Sub Command1_Click() Dim a, b, c, d ...

  7. C语言:解一元二次方程

    C语言实验题――一元二次方程 描述 解一元二次方程ax2+bx+c=0的解. 输入 输入三个实数a,b,c的值,且a不等于0. 输出 输出两个根X1和X2,用空格隔开,具体格式为: X1 X2 其中大 ...

  8. 解一元二次方程——Java

    解一元二次方程: 可以使用下面的公式求元二次方程ax*x+bx+c=0的两个根: b*b- 4ac称作一元二次方程的判别式.如果它是正值,那么一元二次方程就有两个实数根.如果它为0,方程式就只有一个根 ...

  9. 解一元二次方程lisp_lisp语言编写lisp程序解二元一次方程组和一元二次方程组应该怎么做​...

    附上相关程序,请审核. ;-------------------------解二元一次方程组------------------------ (defun 1y1c (a c) (if (/= a 0 ...

  10. Numpy 解一元二次方程

    Numpy 解一元二次方程 1.poly1d() 函数 p1 = np.poly1d([2, 3, 5, 7])print(p1, p1.r) # 2x^3+3x^2+5x+7 [-0.0272357 ...

最新文章

  1. 从IBM“廉政”说企业内控
  2. 一段C语言和汇编的对应分析,揭示函数调用的本质
  3. 计算机视觉和模式识别领域SCI期刊介绍
  4. Ros学习topic——小海龟
  5. jsf tree组件_JSF:在传统组件和时尚性能杀手之间进行选择
  6. python 示例_Python TextCalendar类别| pryear()方法与示例
  7. HTMl5的存储方式sessionStorage和localStorage详解
  8. Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
  9. Ubuntu 安装 Kafka
  10. 图像处理之形态学梯度计算
  11. 【Cf #503 C】Sergey's problem(有趣的构造)
  12. css中关于居中的问题
  13. 视频教程-SAP S4 HANA财务模块入门到精通-ERP
  14. IDEA合并SVN分支代码到主干
  15. 中级软件设计师笔记全套 看完你就过啦
  16. python二元函数图像在线绘制_numpy,matplotlib
  17. 没有百万调音师,用大数据+AI 也能让用户的声音更动听
  18. 什么是c++运行库?
  19. 音视频常见问题分析和解决:延时和抖动
  20. srgb色彩空间_网页设计师的色彩:了解sRGB

热门文章

  1. unity的Rotation值如何修改
  2. 【C】C语言int型数组转化为char型字符串数组
  3. 长期吃nmn有副作用吗,nmn产品副作用,真相说明
  4. 关于Linux内核学习(经典)
  5. SDOI2015 星际战争
  6. 计算机更改刷新频率,电脑屏幕刷新频率无法更改怎么办
  7. (2)防火墙的基本配置---1安全域和端口
  8. 基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控
  9. CodeForces - 864E FIRE(附带限制条件01背包)
  10. 8255并行接口与交通灯控制