循环习题课.pptVIP

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共79页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环习题课

习题课 循环程序设计应用 遍历 递推 迭代 例6.1 求出两个正整数组成的闭区间中的所有偶数。 例6.2 有一个数,用3除余2,用5除余3,用7除余2,请找出满足条件的最小数。 例6.3 判断某整数是否为素数。 例6.4 求输入的十个数据的平均值及其中正数的个数。 例6.5 输入一个整数,计算位数并逆序输出. 如输入1234567则输出7654321. 例6.6 找出10~1000之间各位数字之和能被5整除的所有数。 例6.7 编写求 20+21+22+23+···+263 的程序 。 例6.8 求Fibonaci数列的前20个数. 例6.9 用牛顿迭代公式 xn+1=(xn+a/xn)/2 ,求某数a的平方根的近似值,满足条件|xn+1-xn|10-6 例6.10 输出九九乘法表。 [例6.16] 输入30个0~9的字符数字,计算数字串中有多少个奇数,偶数和零 . [例6.17] 统计选票。 [例6.18] 梯形法求数值积分。 [例6.19] 用?/4 ≈ 1-1/3+1/5-1/7+…的公式求? 的近似值,直到最后一项的绝对值小于10-6为止 [例6.20] 求 s=1-1/2+1/3-1/4+… +1/99-1/100 例6.21 一元人民币兑换成1分、2分、5分共有多少种方法? [例6.22] 输入一行字符,按字母,数字和其他字符分成三类,分别统计各类字符的数目(换行字符\n不统计在内)。 [例6.23] 汽车里程表上的读数是95859,7小时之后里程表的读数是一个对称数(最大是5位数),问汽车的速度(是一个整数)。 例6.1 求出两个正整数组成的闭区间中的所有偶数. 分析 已知两正整数m和n (设mn) 判断k∈[m,n]是否为偶数 k%2≡0 步骤 1.输入m和n 2.若mn,则交换m和n的值 3.for k=m , k=n, k++ 若k%2≡0, 则输出k 算法及程序实现 main( ) { int m,n,k; printf(\nInput m and n:); scanf(%d%d,m,n); if(mn) { k=m; m=n; n=k; } for(k=m;k=n;k++) { if(k%2==0) printf(%8d, k); } } 例6.2 有一个数,用3除余2,用5除余3,用7除余2,请找出满足条件的最小数。 分析: ①用3除余2:m%3==2 ②用5除余3:m%5==3 ③用7除余2:m%7==2 采用遍历(枚举)的方法,使m从1开始逐步递增,并逐个判断,若条件①②③同时成立,则相应的m即为所求的数. 步骤 1.m=1 2.while(1) 若m%3==2m%5==3m%7==2成立,退出循环 m++ 3.输出m main() { int m; m=1; while(1) /* 循环条件恒成立 */ { if(m%3==2m%5==3m%7==2) break; m++; } printf(\nm=%d,m); } 例6.3 判断某整数是否为素数。 分析 素数:只能被1和自身整除的自然整数。 可以先假设某数m是素数(flag=1) 然后据实际情况修改假设,采用遍历的方法,依次判断从2到m-1中是否有数能整除m,若有则修改假设,即flag=0 然后据flag输出最后的判断 步骤 1. 输入m 2. flag=1 3. for i=2, im, i++ 若 m%i==0 则flag=0 4. 若flag==1 则输出“YES”; 否则输出“NO” 算法描述 步骤 1. 输入m 2. flag=1 3. for i=2, im, i++ 若 m%i==0 则flag=0 4. 若flag==1 则输出“YES”; 否则输出“NO” 程序实现 main() { int m,i,flag; printf(\nInput a int number:); scanf(%d,m); flag=1; for(i=2;im;i++) if(m%i==0) flag=0; if( flag==1 ) printf(\nYES); else printf(\

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档