已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 循环程序设计LoopStructure N S Nassi Shneidermandiagram 2 3 1 3 6 10 15 1 2 3 4 5 n intn sum 0 while n 5 sum n n 1到5的自然数之和是 15 4 1 2 6 24 120 1 2 3 4 5 n intn 1 sum 1 while n 5 sum n n 5的阶乘是 120 5 例一 main intn 0 sum 0 loop sum n n if sum 10000 gotoloop printf n d n n n 142 if goto 6 例三 main intn 0 sum 0 while sum 10000 sum n n printf n d n n 当型 7 例四 main intn 0 sum 0 do sum n n while sum 10000 printf n d n n 直到型 直到sum超过10000为止 8 4 for语句循环结构 求 i 1 2 3 4 99 100 i 1 100 main inti s 0 for i 1 i 100 i s s i printf Sum d n s 9 嵌套循环nestedloop a000001010011100101110111 三重循环 main inti j k for i 0 i 2 i for j 0 j 2 j for k 0 k 2 k printf d t d t d n i j k ijk 10 main 九九表 inti j printf 九九表 n printf for i 1 i 10 i printf 4d i printf n for i 1 i 10 i printf 4d i for j 1 j 10 j printf 4d i j printf n 11 main inti j printf 九九表 n printf for i 1 i 10 i printf 4d i printf n for i 0 i 40 i printf printf n for i 1 i 10 i printf 3d i printf for j 1 j 10 j printf 4d i j printf n 12 13 输出国际象棋棋盘 main inti j for i 0 i 8 i for j 0 j 8 j if i j 2 0 printf 输出白方格elseprintf 输出黑方格printf n 14 a输入十个整数 程序为你输出其中正数之和10 4 3 56123 98正数之和是 30 inti n sum 0 for i 0 i 10 i scanf d 15 求输入的正数之和 main inti n sum 0 printf 输入十个整数 程序为你输出其中正数之和 n for i 0 i 10 i scanf d 16 求数字1到100的累加之和 main inti 1 sum 0 loop if i 100 sum sum i i i 1 gotoloop printf 数字1到100的累加之和是 d sum 跳转到loop处 相当于循环 a数字1到100的累加之和是 5050 17 main inti 1 sum 0 while i 100 sum i i printf 数字1到100的累加之和是 d sum 求数字1到100的累加之和 等价的while循环语句 a数字1到100的累加之和是 5050 18 whiledo whileforif goto是通过编程技巧 if语句和goto语句组合 构成循环功能 而且goto语句将影响程序流程的模块化 使程序可读性变差 所以结构化程序设计主张限制goto语句的使用 19 循环结构两大要素 循环条件p结束循环的条件表达式循环体A循环执行的语句或语句组设置循环条件要特别注意确定 循环变量的初值循环变量的终值循环变量的变化规律 while dowhile 20 includemain inti 1 fac 1 while i 5 if i 3 continue fac fac i i i 1 printf d的阶乘是 d n 5 fac 死循环Aninfiniteloopisasequenceofinstructionsinacomputerprogramwhichloopsendlessly eitherduetotheloophavingnoterminatingcondition havingonethatcanneverbemet oronethatcausesthelooptostartover 21 直到型 当型 1 if goto语句循环结构 22 例五 从键盘输入一个整数12456 分析以下程序运行结果 main intnum c printf 请输入一个整数 scanf d 取得num的个位数 输出num的个位数 直到num 10为0 结果 65421将各位数字反序显示出来 3 do while语句循环结构示例Palindrome 23 4 for语句循环结构 循环语句 组 用于构成计数型当型循环 先判断后执行 条件为真继续循环 直到条件为假时结束循环 表达式1 整个循环中只执行1次 常用来对循环变量设置初值 条件表达式 表达式2 其值为真 非0 时继续执行循环语句 组 否则结束循环表达式3 常用于循环变量值的更新 循环体的一部分每次循环语句组执行完后执行一次 for 表达式1 条件表达式 表达式3 24 循环常用算法 1 穷举法 exhaustalgorithm methodofexhaustion 笨人之法 把所有可能的情况一一测试 筛选出符合条件的各种结果进行输出 例一 百元买百鸡 用一百元钱买一百只鸡 已知公鸡5元 只 母鸡3元 只 小鸡1元 3只 分析 这是个不定方程 三元一次方程组问题 三个变量 两个方程 x y z 1005x 3y z 3 100设公鸡为x只 母鸡为y只 小鸡为z只 25 main intx y z for x 0 x 100 x for y 0 y 100 y for z 0 z 100 z if x y z 100 结果 x 0 y 25 z 75x 4 y 18 z 78x 8 y 11 z 81x 12 y 4 z 84 此为 最笨 之法 要进行101 101 101 1030301次 100多万次 运算 百元买百鸡问题分析 26 百元买百鸡问题分析 main intx y z for x 0 x 100 x for y 0 y 100 y z 100 x y if 5 x 3 y z 3 0 100 printf cocks d hens d chickens d n x y z 令z 100 x y只进行101 101 10201次运算 前者的1 取x 19 y 33只进行20 34 680次运算 第1种运算的6 7 27 例二 雨水淋湿了算术书的一道题 8个数字只能看清3个 第一个数字虽然看不清 但可看出不是1 编程求其余数字是什么 3 2 8 9 分析设分别用A B C D E五个变量表示自左到右五个未知的数字 取值范围为0 9 条件表达式即为给定算式 28 main intA B C D E for A 0 A 9 A for B 0 B 9 B for C 0 C 9 C for D 0 D 9 D for E 0 E 9 E if A B 10 3 C A B 10 3 C 8009 D 100 E 10 printf 2d 2d 2d 2d 2d n A B C D E a1906432864 例二 雨水淋湿了算术书的一道题 8个数字只能看清3个 第一个数字虽然看不清 但可看出不是1 编程求其余数字是什么 3 2 8 9 29 例三 求100 200之间不能被3整除 也不能被7整除的数 分析 求某区间内符合某一要求的数 可用一个变量 穷举 所以可用一个独立变量x 取值范围100 200 for x 100 x 200 x if x 3 0 如果是求指定条件的奇数呢 如果是求指定条件的偶数呢 x 101 x 200 x x 2 x 100 x 200 x x 2 30 例五 兔子繁殖问题 斐波那契数列问题 著名意大利数学家斐波那契 Fibonacci 1202年提出一个有趣的问题 某人想知道一年内一对兔子可以生几对兔子 他筑了一道围墙 把一对大兔关在其中 已知每对大兔每个月可以生一对小兔 而每对小兔出生后第三个月即可成为 大兔 再生小兔 问一对小兔一年能繁殖几对小兔 分析 表示大兔 表示小兔 31 由分析可以推出 每月新增兔子数Fn 1 1 2 3 5 8 13 21 34 斐波那契数列 月份n兔子数Fn1F1 12F2 13F3 2 F1 F24F4 3 F2 F35F5 5 F3 F4 nFn Fn 1 Fn 2 32 例五 例5 12兔子繁殖问题 斐波那契数列问题 33 34 main intf1 1 f2 1 f i s n clrscr printf 请输入月数 scanf d 35 画n个星星 for i 0 i n i printf 36 例六 编程显示以下图形 共N行 N由键盘输入 分析 设N 5 第1行4个空格 5 11个 2 行号 1第2行3个空格 5 23个 2 行号 1第3行2个空格 5 35个 2 行号 1第4行1个空格 5 47个 2 行号 1第5行0个空格 5 59个 2 行号 1 由此归纳出 第i行的空格数N i个 第i行的 数是2i 1个 37 main inti j N printf 请输入N scanf d 38 main inti j N printf 请输入N scanf d 39 1行打印 1星 8空格 1星2行打印 2星 6空格 2星3行打印 3星 4空格 3星4行打印 4星 2空格 4星5行打印 5星 0空格 5星 用for循环第I次循环的任务 打印 i个星 2 5 i 个空格 i个星 换新行 40 for j 0 j i j printf for j 0 j 2 5 i j p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新汽车基础制造 10
- 素食营养搭配均衡膳食指南
- 作业场所个人防护用品配备
- 肉羊越冬保膘饲养技术指引
- 高血压低盐低脂饮食干预手册
- 重大危险源监控预警系统管理办法
- 肉羊冬季保温保膘饲养方案
- 奶牛夏季防暑降温技术标准
- 服务满意度调查回访规范流程
- 废气废水排放监测数据上报制度
- 对外投资合作国别(地区)指南-新加坡(2025年版)
- 污水处理设施运维服务投标方案(技术标)
- 2026中国南水北调集团水网智慧科技有限公司招聘笔试参考题库含答案解析
- Unit6TravelPlansLesson1ImgoingtoMountTaishan(课件)-鲁科版(五四制)英语四年级下册
- 2025年卫生高级职称考试理化检验技术副高经典试题及答案四
- 2025年成都交通投资集团有限公司招聘笔试真题
- 2025年洛阳市事业编考试真题及答案
- 心力衰竭教案教案
- 中数联物流运营有限公司招聘笔试题库2026
- 住院医师规范化培训教学病例讨论指南
- DB31∕T 1598-2025 城市轨道交通车辆寿命评估通 用要求
评论
0/150
提交评论