当前位置: 首页 > 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”这样的复数形式。

http://www.dtcms.com/a/130616.html

相关文章:

  • 浅淡红黑树以及其在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简单登录和权限控制实践
  • 句句翻译。
  • 平凡日子里的挣扎
  • 第7课:智能体安全与可靠性保障
  • 路由器开启QOS和UPNP的作用
  • AOSP14 Launcher3——手势模式下底部上滑的两种场景
  • Zabbix 简介+部署+对接Grafana(详细部署!!)
  • Redis-集群
  • 迷你世界脚本之容器接口:WorldContainer
  • 实例3.5.2 数字签名
  • ubuntu2204安装显卡驱动+多版本的cuda+cudnn+多版本tensorRT
  • Series和 DataFrame是 Pandas 库中的两种核心数据结构
  • 设计模式——建造者模式(生成器模式)总结