循环程序实例.ppt_第1页
循环程序实例.ppt_第2页
循环程序实例.ppt_第3页
循环程序实例.ppt_第4页
循环程序实例.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计 第13讲循环结构程序设计实例 例求1 2 100 for i 1 i 100 i item i sum sum item 程序解析调用函数fact i 计算i的阶乘嵌套循环用循环计算i的阶乘 includedoublefact intn main inti doublesum sum 0 for i 1 i 100 i sum sum fact i printf 1 2 3 100 e n sum doublefact intn inti doubleresult 1 for i 1 i n i result result i returnresult 例程序解析求1 2 100 例源程序 includemain inti j doubleitem sum item存放阶乘 sum 0 for i 1 i 100 i item 1 每次求阶乘都从1开始 for j 1 j i j 内层循环算出item i item item j sum sum item printf 1 2 3 100 e n sum 内层循环的初始化 for i 1 i 100 i item 1 for j 1 j i j item item j sum sum item 求1 2 100 item 1 for i 1 i 100 i for j 1 j i j item item j sum sum item 求1 1 2 1 2 100 分析嵌套循环的执行过程 for i 1 i 100 i item 1 for j 1 j i j item item j sum sum item 外层循环变量i的每个值内层循环变量j变化一个轮次 内外层循环变量不能相同分别用i和j for i 1 i 100 i for j 1 j i j printf d d n i j 小结循环程序设计 循环程序的实现要点 归纳出哪些操作需要反复执行 循环体这些操作在什么情况下重复执行 循环条件选用合适的循环语句forwhiledo while循环具体实现时考虑 循环条件 事先给定循环次数 首选for通过其他条件控制循环 考虑while或do while includemain inti mark max n printf Entern scanf d 例1输入一批学生的成绩 求最高分 for max mark Entern 5Enter5maks 6788735482Max 88 Entern 0 includemain intmark max printf Entermarks scanf d 例1输入一批学生的成绩 求最高分 while Entermarks 6788735482 1Max 88 Entermarks 1 includemain intmark max max 1 给max赋一个小初值 printf Entermarks do scanf d 例1输入一批学生的成绩 求最高分 do while Entermarks 6788735482 1Max 88 Entermarks 1 例2将一个正整数逆序输出 确定 循环条件和循环体 循环不变式 123455432112345 10 512345 10 12341234 10 41234 10 123123 10 3123 10 1212 10 212 10 11 10 11 10 0结束 循环不变式x 10 x x 10循环结束条件x 0 scanf d 用do while实现 例3求500以内的全部素数 每行输出10个 for m 2 m 500 m if m是素数 printf d m n sqrt m for i 2 in printf yes n elseprintf no n for m 2 mn printf d m 例3源程序 include includemain intcount i m n count 0 for m 2 mn 如果m是素数 printf 6d m count if count 10 0 printf n 例4求Fibonacci序列 1 1 2 3 5 8 13 1 1 2 3 5 8 13 x1x2xx1x2x x1 x2 1 x x1 x2 x1 x2 x2 x x1 1 x2 1 printf 6d 6d x1 x2 输出头两项 for i 1 i 8 i 循环输出后8项 x x1 x2 计算新项 printf 6d x x1 x2 更新x1和x2 x2 x 例5 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 2 程序源代码 main longf1 f2 inti f1 f2 1 for i 1 i 20 i printf 12ld 12ld f1 f2 if i 2 0 printf n 控制输出 每行四个 f1 f1 f2 前两个月加起来赋值给第三个月 f2 f1 f2 前两个月加起来赋值给第三个月 1 程序分析 兔子的规律为数列1 1 2 3 5 8 13 21 例6 打印出所有的 水仙花数 2 程序源代码 main inti j k n printf waterflower numberis for n 100 n 1000 n i n 100 分解出百位 j n 10 10 分解出十位 k n 10 分解出个位 if i 100 j 10 k i i i j j j k k k printf 5d n printf n 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论