写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根.

答案

思路分析:主要考查含参问题的讨论方法及条件嵌套结构的应用.输入三个实数a,b,c,先判断a是否为零,当a≠0时,是一元二次方程,则通过判断判别式来求实根.当a=0,b≠0时,不是一元二次方程,可用一元一次方程的解法来解.

解:当a≠0时,令Δ=b2-4ac,当Δ<0时,方程无实数根;

当Δ≥0时,方程有两个实数根x1=

,x2=

.

当a=0时,再考虑b:若b≠0,则方程的根为x=

;

当b=0时,再考虑c:当c≠0时,方程无根;

当c=0时,方程的解是全体实数.

算法步骤如下:

第一步,输入a,b,c.

第二步,如果a≠0,执行第三步,如果a=0,执行第七步.

第三步,Δ=b2-4ac.

第四步,如果Δ<0,输出“方程无实数根”,如果Δ≥0,执行第五步.

第五步,x1=

,x2=

.

第六步,输出x1,x2.第七步,如果b≠0,执行第八步,如果b=0,执行第十步.

第八步,x=

.第九步,输出x.

第十步,如果c≠0,输出“方程无实根”;

如果c=0,输出“方程的根为全体实数”.

该算法的程序框图如图1-1-14所示:

图1-1-14

巧妙变式:形如ax2+bx+c=0的方程的求解问题要先定a,分a=0和a≠0两种情况讨论,a≠0要分Δ≥0与Δ<0两种情况讨论,a=0要分b=0和b≠0两种情况讨论,当b=0时再分c=0和c≠0两种情况讨论,一定要做到不重不漏,可按下图来记忆:

共五种情况,因而程序框图中有五个输出框.

变式:写出解方程x2-2x-3=0的一个算法.

算法一:

1.将方程左边因式分解,得(x-3)(x+1)=0;①

2.由①得x-3=0,②

或x+1=0;③

3.解②得x=3,解③得x=-1.

算法二:

1.移项,得x2-2x=3;①

2.①式两边同加1并配方,得(x-1)2=4;②

3.②式两边开方,得x-1=±2;③

4.解③式得x=3或x=-1.

算法三:

1.计算方程的判别式并判断其符号Δ=22+4×3=16>0;

2.将a=1,b=-2,c=-3,代入求根公式,得x1,2=

,得x1=3,x2=-1.

评析:本例是给ax2+bx+c=0中的a,b,c分别赋予数值1,-2,-3.比较三种算法,算法三更简单,步骤最少,由此我们只要有公式可以利用,利用公式解决问题是最理想、合算的算法.因此在寻求算法的过程中,首先是利用公式.

写一个判断方程根的C语言程序,写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根....相关推荐

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

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

  2. 求方程式ax2 bx c=0的根c语言,关于求方程ax2+bx+c=0根的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include"resource.h" BOOL CALLB ...

  3. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...

    题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...

  4. 求ax^2+bx+c=0(ao)根的c语言程序,【C语言】求方程ax^2+bx+c=0的根

    //求方程ax^2+bx+c=0的根 #include #include int main() { float a,b,c,dis,x1,x2; printf("请输入a,b,c的值: &q ...

  5. 求ax^2+bx+c=0(ao)根的c语言程序,1、编写一程序,求一元二次方程ax^2+bx+c=0(agt,c++编写程序,一元二次方程ax^2+bx+c=0的根...

    问题标题 1.编写一程序,求一元二次方程ax^2+bx+c=0(a 2019-5-10来自ip:11.182.150.37的网友咨询 浏览量:509 手机版 问题补充: 1.编写一程序,求一元二次方程 ...

  6. 弦截法求方程根例题c语言,弦截法求方程根.ppt

    弦截法求方程根弦截法求方程弦截法求方程根弦截法求方程根 12 §3 迭代收敛的加速法 取g(x)=x3-1 , 则: 程序设计 function [f,k]= Steffensen(eps,x0) % ...

  7. 求一元二次方程ax2+bx+c=0的根

    编写程序,用户输入一元二次方程的系数,求其根.程序能输入两组数据,得出两组结果,能处理复数根. 提示:两组输入可用下列循环实现: for(int i=0;i<2;i++) { -- } 程序运行 ...

  8. 编写一个求方程ax2 + bx + c = 0的根 的程序,用3个函数分别求当b2-4ac大于零、等于零、和小于零时的方程的根。要求从主函数输入a,b,c的值并输出结果。

    #include<iostream> #include<math.h> using namespace std; void equation_1(int a,int b,int ...

  9. 写一个简单的自动取款机c语言程序,C语言编程模仿银行ATM自动取款机功能

    编程模仿银行ATM自动取款机功能,要求能实现以下功能: 1. 输入储户基本信息(既开户功能,开户成功需要打印储户基本信息): 2. 开户成功后打印欢迎界面,比如"开户成功,欢迎使用**银行自 ...

最新文章

  1. 循环x次输出java_Java9班第二次周测
  2. ubuntu卸载_ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
  3. senseFly为eBee农用无人机装备多谱段传感器
  4. FPGA自定义UART传输(包含:matlab数据拆分)
  5. 学生电脑哪个牌子好_泡脚足浴盆哪个牌子好?家用足浴盆哪个品牌好?足浴盆哪个牌子最安全?...
  6. 避免出现anr的方法_ANR原因及解决方法
  7. 获取用户坐标的html,html5获取用户地理位置
  8. 推荐系统的封闭和禁锢问题
  9. C#中的两把双刃剑:抽象类和接口
  10. 文件源码读取 php伪协议,include(文件包含漏洞,php伪协议)
  11. LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
  12. iostate知识要点
  13. Arcgis Android - HelloWorld
  14. 企业多园区统一灾备建设最佳实践
  15. MFC的API函数大全
  16. Topic 19. 临床预测模型之输出每个患者列线图得分 (nomogramFormula)
  17. 51单片机汇编语言例子,涵盖数码管显示,流水灯,串口,外拓,电子钟,频率计,DA、AD转换等实例
  18. 龙芯2F Debain编openssl报/usr/local/bin/ld: /usr/lib/libdl.so: error adding symbols: file in wrong format
  19. 【微信防封域名】【微信不死域名】【微信域名白名单】
  20. 那群“沙雕”年轻人,正在闲鱼上蹦迪

热门文章

  1. 那些有趣的网站系列(八)
  2. 使用 VPN ,一定要知道的几个真相!
  3. 【重识云原生】第四章云网络4.6节——Underlay 和 Overlay概念
  4. 压缩视频并保留元信息
  5. NGUI UI动画笔记
  6. Windows 中怎么删除mysql服务
  7. 一加3t氢android8_一加3/3T率先吃上奥利奥 一加低调发布Android8.0
  8. PLSQL中存储过程调试
  9. Python有道词典单词翻译
  10. 嘣战纪怎么在电脑上玩 嘣战纪安卓模拟器玩法教程