浙江大学C颜晖原版C5ppt课件.ppt_第1页
浙江大学C颜晖原版C5ppt课件.ppt_第2页
浙江大学C颜晖原版C5ppt课件.ppt_第3页
浙江大学C颜晖原版C5ppt课件.ppt_第4页
浙江大学C颜晖原版C5ppt课件.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第5章循环结构程序设计 循环语句break和continue语句循环嵌套 5 1循环语句 问题打印整数1 10打印整数1 100打印整数1 n printf d 1 printf d 2 printf d 10 i 1 printf d i i printf d i i printf d i i i 1 while i 10 printf d i i while语句 while 表达式 语句 语句 表达式 非0 0 i 1 while i 10 printf d i i 循环体循环不变式改变循环条件 10求sum ii 1sum 0sum 1 sumsum 2 sumsum 3 sum sum 10 sum sum sum sum 0 i 1 while i 10 sum sum i i 循环不变式 for语句 for exp1 exp2 exp3 语句 exp3 exp2 非0 0 exp1 语句 循环体 while 表达式 语句 for exp1 exp2 exp3 语句 exp1 while exp2 语句 exp3 while和for while和for while 表达式 语句 for exp1 exp2 exp3 语句 exp1 while exp2 语句 exp3 sum 0 i 1 while i 10 sum sum i i sum 0 for i 1 i 10 i sum sum i 程序举例 例T1 1求1 2 3 4 n例T1 2求1 1 2 1 3 1 4 1 n例T1 3求1 1 2 1 3 1 4 1 n例T1 4求1 1 3 1 5 1 6 前n项之和例T2 1求n 例T2 2求xn例T3 1求1 1 3 1 5 1 7 直到最后1项的绝对值 10 5例T4 1输入100个整数 求其中正数之和例T4 2输入一个正整数n 再输入n个数 输出最大值例T5输出Fibonacci序列前20个数 例T1 1求1 2 3 4 n 算法 i 1tons s tt i 程序段 s 0 for i 1 i n i s s i 算法 i 1tons s ii 例T1 2求1 1 2 1 3 1 n 算法 i 1tons s tt 1 0 ii 程序段 s 0 for i 1 i n i s s 1 0 i 算法 i 1tons s tt i 例T1 3求1 1 2 1 3 1 4 1 n i 1tons s tt 1 0 ii 程序段 s 0 flag 1 for i 1 i n i s s 1 0 i flag flag flag 算法 i 1tons s tt 1 0 i flagflag flagi 例T1 4求1 1 3 1 5 前n项和 算法 i 1tons s tt 1 0 i flagflag flagi 程序段 s 0 flag 1 tt 1 for i 1 i n i s s 1 0 tt flag tt 2 flag flag 算法 i 1tons s tt 1 0 tt flagflag flagtt tt 2i 例T2 1求n 算法 i 1tonf f tt i 程序段 f 1 for i 1 i n i f f i 算法 i 1tonf f ii 例T2 2求xn 算法 i 1tonf f tt i 程序段 f 1 for i 1 i n i f f x 算法 i 1tonf f tt xi 例T3 1求1 1 3 1 5 直到最后1项的绝对值 10 5 程序段 s 0 flag 1 tt 1 t 1 while fabs t 1E 5 s s t flag flag tt 2 t 1 0 tt flag i 1tons s tt 1 0 tt flagflag flagtt tt 2i 算法 while t 1E 5s s tflag flagtt tt 2t 1 0 tt flag 例T4 1输入100个整数 求其中正数之和 includevoidmain inti sum 0 x for i 0 i0 sum sum x printf d sum 例4 7求最大值 输入3个数 输出其中的最大值 includevoidmain inta b c max printf inputa b c n scanf d d d amaxbc max max 例T4 1输入一个正整数n 再输入n个数 输出最大值 voidmain inti max n x scanf d max x 例T5输出Fibonacci序列前20个数 1 1 2 3 5 8 x1x2tx1x2t 程序段 x1 x2 1 printf d d x1 x2 for i 1 i 18 i t x1 x2 printf d t x1 x2 x2 t x1 x2 1 t x1 x2 x1 x2 x2 t do while语句 do语句while 表达式 i 1 do printf d i i while i 10 语句 表达式 非0 0 while 表达式 语句 while和do while do语句while 表达式 先循环 后判断 先判断 后循环 while和do while的用法比较 输入一些数 求和 直到输入负数为止 voidmain intx sum 0 do scanf d voidmain intx sum 0 scanf d 输入125 10 输入 10125 sum x 5 2break和continue语句 include stdio h voidmain charc inti 0 for i 0 i 10 i c getchar if c n break putchar c 循环何时结束 c getchar for i 0 i 10 for i 0 i c getchar if i 10 c n break putchar c 1 break流程 结束循环while exp 语句1if expb break 语句2 continue流程 跳过continue后面的语句 继续下一次循环while exp 语句1if expc continue 语句2 break和continue include stdio h voidmain charc inti 0 for i 0 i 10 i c getchar if c n break putchar c include stdio h voidmain charc inti 0 for i 0 i 10 i c getchar if c n continue putchar c 输入 abc efgh 123 输出 abcefgh1 输出 abc 例T6输入m 判断m是否为素数 算法 除了1和m 不能被其它数整除 m 2 3 4 5不是素数 0 0是素数 0 0 程序段 n sqrt m for i 2 in printf yes n elseprintf no n 例T7将一个正整数逆序输出 确定 循环条件和循环不变体 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 例4 10 includevoidmain charc printf Pleaseinputacharacter n c getchar if c a 输入一行字符 统计英文字母 数字和其他字符 例T8输入一行字符 统计英文字母 数字和其他字符 includevoidmain charc intletter 0 digit 0 other 0 c getchar while c n if c a while c getchar n 5 3循环嵌套 while 表达式 语句 例T9 1 11 2 n s 0 for k 1 k n k s s f f 1 n for i 1 i n i f f i f 1 for i 1 i k i f f i 算法 k 1tons s ff k k 例T9 1 21 2 n 算法 k 1tons s ff k k s 0 f 1 for k 1 k n k f f k s s f 算法 k 1tons s ff f kk 例T9 2兑换零钱 将10元钱换成5角 2角 1角的零钱 至少各一枚 列出所有可能的方案 c5 5角的数量 1 20 c2 2角的数量 1 50 c1 1角的数量 1 100 5 c1 2 c2 c5 100 将10元钱换成5角 2角 1角的零钱c5 5角的数量 1 20 c2 2角的数量 1 50 c1 1角的数量 1 100 5 c5 2 c2 c1 100 for c5 1 c5 20 c5 for c2 1 c2 50 c2 for c1 1 c1 100 c1 if 5 c5 2 c2 c1 100 printf d d d n c5 c2 c1 c5 1c2 1c1 1 99 2 49 2 19 将10元钱换成5角 2角 1角的零钱c5 5角的数量 1 20 c2 2角的数量 1 50 c1 1角的数量 1 100 5 c5 2 c2 c1 1000 for c5 1 c5 20 c5 for c2 1 c2 50 c2 for c1 1 c1 100 c1 if 5 c5 2 c2 c1 1000 printf d d d n c5 c2 c1 for c5 1 c5 20 c5 for c2 1 c2 50 c2 printf d d d n c5 c2 1000 5 c5 2 c2 例T9 3输出100 200间所有素数 算法 m 1

温馨提示

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

最新文档

评论

0/150

提交评论