- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 选择及迭代
* 2. 用C++提供的while语句实现迭代算法 C++提供了专门用于循环的while语句。while语句的语法格式为: while (测试条件) 循环体 3.2 迭代 while语句的执行过程是:首先计算测试条件的值,如果其值为“真”(非0),表示满足循环条件,则执行循环体;如果其值为“假”(0),则结束循环.每执行完一次循环体后再次计算测试条件的值,如果其值为“真”(非0),则继续执行循环体;如果其值为“假”(0),则结束循环。右侧是while语句流程图。 * 【例3-13】根据表3-8给出的迭代算法,编写程序,用C++提供的while语句实现“计算2n”的问题。 int main() { int i,n,power; cout请输入幂次:endl; cinn; power=1; i=1; while (i=n) { power=power*2; i++; } cout2的n次幂为:powerendl; return 0; } 3.2 迭代 * 3.2.3 迭代与选择嵌套 在一个迭代算法中,重复处理的每一步是一个选择算法,这就构成了迭代和选择嵌套。使用C++的循环语句,在循环体采用选择语句来实现相应的迭代算法。 【例3-14】计算若干人的纳税额,当用户输入0时结束。 问题求解思路: 例3-2和例3-4已经给出实现计算工资总额应纳多少税的算法和C++实现程序。现在的问题是需要重复若干次这样的计算过程,直到用户输入的工资总额为0。因此,解决该问题的迭代算法如下表所示。 3.2 迭代 * 3.2 迭代 步骤 处 理 1 输入一个工资总额income的值 2 当income不等于0时重复下面的操作: 如果income0 并且 income=1500 tax=income*0.03; 如果income1500 并且 income=4500 tax=income*0.1-105; 如果income4500 并且 income=9000 tax=income*0.2-555; 如果income9000 并且 income=35000 tax=income*0.25-1055; 如果income35000 并且 income=55000 tax=income*0.3-2755; 如果income55000 并且 income=80000 tax=income*0.35-5055; 如果income80000 tax=income*0.45-13505; 输出tax的计算结果 输入下一个工资总额income * int main() { double income, tax; cout请输入工资总额(输入0结束程序):endl; cinincome; while (income!=0) { tax=0; income=income-3500; //计算应纳税所得额 if (income0 income=1500) tax=income*0.03; if (income1500 income=4500) tax=income*0.1-105; …… coutincome+3500元收入,应该上税:tax元endl; cout请输入下一个工资总额(输入0结束程序):endl; cinincome; //输入 } return 0; } * 3.2.4 迭代嵌套 在一个迭代算法,重复处理的每一步还是一个迭代算法,这就构成了迭代嵌套。使用C++的循环语句中再包含循环语句(通常被称为多重循环),来实现嵌套的迭代算法。 【例3-15】设计“计算21+22+23+…+2n”的问题的算法,并用C++程序实现该算法。 问题求解思路: 该问题是一个n项累加的问题,需要重复n次完成。其中,要累加的每一项也需要重复处理,即计算第i项的值时,也需要重复i次乘以2的操作。因此,构成了迭代嵌套的算法。解决该问题的嵌套迭代算法如下表所示。 3.2 迭代 * 3.2 迭代 步骤 处 理 1 输入2的最高幂次n 2 将各项的累加和清0 3 将i的范围设置为1到n,进行如下操作: 将存放第i项结果的power置为1 重复i次下面的操作: power=power×2 将power累加到sum中 4 输出结果 * int main() { int n, sum, power; cout请输入最高的最高幂次n: ; cinn; sum=0; for(int i=1; i=n; i++) // 外层循环计算各项的和
您可能关注的文档
- 第3章 单相液体及稳定渗流-复势3.ppt
- 第3章 资金及时间价值及其计算.ppt
- 第3章 叠加方法及网络函数2.ppt
- 第3章 各项费用及归集和分配.ppt
- 2014湘教版8.1北京市与城市特征与建设成就.ppt
- 第3章 命题逻辑及推理理论.ppt
- 第3章 周期信号及傅里叶级数表示.ppt
- 2015《金榜e讲堂》高三人教版数学(理)一轮复习课件:第10章 第9节 离散型随机变量与均值与方差、正态分布.ppt
- 2015—11人类与地理环境与协调发展.ppt
- 第3章 国际贸易理论及政策(下).ppt
- 2025-2026学年高中物理选修1-1粤教版教学设计合集.docx
- 2025-2026学年高中英语高一下册上海新世纪版教学设计合集.docx
- 2025-2026学年高中英语冀教版必修二-冀教版2004教学设计合集.docx
- 2025-2026学年高中语文必修三人教版教学设计合集.docx
- 2025-2026学年高中英语外研版2019选择性必修第二册-外研版2019教学设计合集.docx
- 2025-2026学年高中英语选择性必修 第二册人教版(2019)教学设计合集.docx
- 2025-2026学年小学科学人教版五年级下册-人教版(2001)教学设计合集.docx
- 2025-2026学年小学科学一年级上册粤教粤科版(2024)教学设计合集.docx
- 2025-2026学年小学科学一年级下册教科版(2024)教学设计合集.docx
- 2025-2026学年小学美术五年级上册苏少版(2024)教学设计合集.docx
文档评论(0)