当前位置: 首页 > news >正文

【时时三省】(C语言基础)选择结构程序综合举例2

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

例题:

求ax + bx + c = 0方程的解。

解题思路:

有以下几种可能。

①a = 0,不是二次方程。

②b-4 ac = 0,有两个相等实根。

③b2-4ac > 0,有两个不等实根。

④b2-4 ac < 0,有两个共轭复根。应当以p + qi和p- qi的形式输出复根。其中,p = -b / 2a,q =√ (b*b-4 ac ) / 2 a。

编写程序:

运行结果(运行3次): 

(1)输入a,b,c的值1,2,1,得到两个相等的实根。

( 2 )输入a,b ,c的值1,2,2,得到两个共轭的复根。

 ( 3 )输入a,b,c的值2,6,1,得到两个不等的实根。

程序分析:

程序中用disc代表b-4 ac,先计算disc的值,以减少以后的重复计算。对于判断b-4 ac是否等于0时,要注意:由于disc(即b—4ac)是实数,而实数在计算和存储时会有一些微小的误差,因此不能直接进行如下判断:“if ( disc = = 0 )…”,因为这样可能会出现本来是零的量,由于上述误差而被判别为不等于零而导致结果错误。所以采取的办法是判别disc的绝对值( fabs ( disc ) )是否小于一个很小的数(例如10-),如果小于此数,就认为disc等于0。程序中以realpart代表实部p,以imagpart代表虚部q,以增加可读性。在输出复根时,先分别计算出其实部与虚部,在printf函数的格式字符串中在输出虚部的格式声明( % 8.4f )后面人为地加一个普通字符“i”,就能输出“p + qi”这样的复数形式。

相关文章:

  • 浅淡红黑树以及其在Java中的实际应用
  • 【ACM MM会议-2024工业异常检测】FiLo++:融合细粒度描述和形变定位的零样本/少样本异常检测
  • IO多路复用沉浸式体验
  • OpenAI Gym 提供了丰富的强化学习测试环境
  • 并发阻塞队列原理分析
  • 用户自定义函数(UDF)开发与应用(二)
  • 快速幂运算
  • 阅读论文 smart pretrain,搭配MAE一起食用
  • Elasticsearch 性能优化:从原理到实践的全面指南
  • Elasticsearch入门指南(三) 之 高级篇
  • 2025蓝桥杯JavaB组真题解析
  • JavaScript性能优化(下)
  • Spring Boot集成Nacos
  • 【Web功能测试】Web商城搜索模块测试用例设计深度解析
  • 2025第十六届蓝桥杯PythonB组部分题解
  • [特殊字符] 第十七讲 | 随机森林:变量重要性识别与建模实战
  • 4月份到9月份看6本书第一天
  • 基于Flask-Login简单登录和权限控制实践
  • 句句翻译。
  • 平凡日子里的挣扎
  • 多个侵华日军细菌战部队留守名簿文件首次公布
  • 跨文化戏剧的拓荒者与传承者——洪深与复旦剧社的百年回响
  • 新能源汽车,告别混乱创新
  • 智能手表眼镜等存泄密隐患,国安部提醒:严禁在涉密场所使用
  • 吉林:消纳绿电,“氢”装上阵
  • 时隔近4年再出征!长三丙成功发射通信技术试验卫星十九号