写一个判断方程根的C语言程序,写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根....
写出求方程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的根的算法,画出相应的程序框图,并要求输出它的实根....相关推荐
- C语言程序——计算一元二次方程ax^2+bx+c=0的根
文章目录 前言 一.求解一元二次方程的根 二.程序实例 1.程序代码 2.运行结果 3.结果分析 总结 前言 求解一元二次方程的根,由键盘键入系数,输出方程的根. 一.求解一元二次方程的根 这种问题解 ...
- 求方程式ax2 bx c=0的根c语言,关于求方程ax2+bx+c=0根的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include"resource.h" BOOL CALLB ...
- 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 ...
- 求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 ...
- 求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.编写一程序,求一元二次方程 ...
- 弦截法求方程根例题c语言,弦截法求方程根.ppt
弦截法求方程根弦截法求方程弦截法求方程根弦截法求方程根 12 §3 迭代收敛的加速法 取g(x)=x3-1 , 则: 程序设计 function [f,k]= Steffensen(eps,x0) % ...
- 求一元二次方程ax2+bx+c=0的根
编写程序,用户输入一元二次方程的系数,求其根.程序能输入两组数据,得出两组结果,能处理复数根. 提示:两组输入可用下列循环实现: for(int i=0;i<2;i++) { -- } 程序运行 ...
- 编写一个求方程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 ...
- 写一个简单的自动取款机c语言程序,C语言编程模仿银行ATM自动取款机功能
编程模仿银行ATM自动取款机功能,要求能实现以下功能: 1. 输入储户基本信息(既开户功能,开户成功需要打印储户基本信息): 2. 开户成功后打印欢迎界面,比如"开户成功,欢迎使用**银行自 ...
最新文章
- 循环x次输出java_Java9班第二次周测
- ubuntu卸载_ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
- senseFly为eBee农用无人机装备多谱段传感器
- FPGA自定义UART传输(包含:matlab数据拆分)
- 学生电脑哪个牌子好_泡脚足浴盆哪个牌子好?家用足浴盆哪个品牌好?足浴盆哪个牌子最安全?...
- 避免出现anr的方法_ANR原因及解决方法
- 获取用户坐标的html,html5获取用户地理位置
- 推荐系统的封闭和禁锢问题
- C#中的两把双刃剑:抽象类和接口
- 文件源码读取 php伪协议,include(文件包含漏洞,php伪协议)
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
- iostate知识要点
- Arcgis Android - HelloWorld
- 企业多园区统一灾备建设最佳实践
- MFC的API函数大全
- Topic 19. 临床预测模型之输出每个患者列线图得分 (nomogramFormula)
- 51单片机汇编语言例子,涵盖数码管显示,流水灯,串口,外拓,电子钟,频率计,DA、AD转换等实例
- 龙芯2F Debain编openssl报/usr/local/bin/ld: /usr/lib/libdl.so: error adding symbols: file in wrong format
- 【微信防封域名】【微信不死域名】【微信域名白名单】
- 那群“沙雕”年轻人,正在闲鱼上蹦迪