讲义循环研究.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【436.c】在4*4的棋盘上,第一格放1粒米,第二格放2粒米,第三格放4粒米,第四格放8粒米,以后每一格都是前一格的2倍。问共需放多少粒米? 【问题分析】 第n格放2n-1粒米; 4*4的棋盘总共放:20+21+22+23+……+213+214+215粒米 【437.c】求任意一正整数n(n2)是否为素数。 【素数】:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 20以内的素数:2、3、5、7、11、13、17、19 【分析】:用2,3,4 --- n-1作为除数去除以n,只要其中一个能除尽,n就不是素数。 【具体做法】可以用一个变量flag来跟踪。 1 Flag= 0 一开始,假设n是素数,flag ? 1。 然后用2,3,4,……,n-1去除n,只要有一次能被除尽,n就不是素数,flag ? 0。 素数 不是素数 整数 25 变量i:除数 2 3 4 5 6 --- 24 Flag --- 整数 13 变量i:除数 2 3 4 5 6 --- 12 flag --- 1 1 1 0 0 0 1 1 1 1 1 1 1、输入n 2、flag=1 3、for(i=2;i=n-1;i++) {    if(n%i==0) flag=0; } 4、如果flag等于1,那么n为素数 否则,不是素数 5、结束 标志变量 整数 25 用变量i表示除数 --- 方法二:不用flag跟踪,当发现n能被i整除时直接用break跳出。最后,我们发现,如果n是素数,循环会被完整执行。所以我们可以借助循环控制量i的值判断n是否时素数,即当i等于n时n是素数。 【方法二】 1 输入n 2 flag=1 3 for(i=2;i=n-1;i++)  { if(n%i==0) flag=0;  } 4 如果flag等于1,那么n为素数,否则,不是素数 5 结束 整数 13 用变量i表示除数 -- 2 3 4 5 3 2 4 5 6 12 break; 如果i等于n break break 作用:跳出整个switch、循环 使用范围:switch、while、do-while、for 分析下列程序的输出: #include stdio.h main() { int i; for(i=1;i50;i++) { if(i==36) { break; } if(i%9==0) { printf(%d\n,i); } } } 输出:9 18 27 【改进】   以上两方法我们用2,3,4 --- n-1作为除数去除以n,只要其中一个能除尽n,n就不是素数。通常,只用n的开方作除数就够了。比如25,开方为5,所以只需2,3,4,5作为除数。   n的开方用sqrt(n)表示。sqrt()为库函数,属于数学函数,要包math.h文件,即要写上#include math.h 第3步改为: for(i=2;i=sqrt(n);i++) { if(n%i==0)break; i++; } 多重循环 多重循环就是循环里面套循环,有些问题需要多层循环嵌套才能解决。 @@@@@ @@@@@ @@@@@ @@@@@ for(i=0;i4;i++) { 输出“@@@@@”; } for(i=0;i4;i++) { for(j=0;j5;j++) printf(@); printf(\n); } 输出这个图形要用到双重循环: 外层循环用于控制输出4行“@@@@@”; 内层循环用于控制每行输出5个@。 多重循环 输出以下内容 1234 1234 1234 1234 1 12 123 1234 4 43 432 4321 @ @@ @@@ @@@@ 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 第i行输出i个@ 【441.c】打印右边的图形 【分析】 1 可用双重循环实现 2 外循环:打印了五行 3 内循环:在第i行,(注意:i从1开始) 先打印5-i个空格 再打印1至i 再打印i-1至1 最后换行 ★ 内外层循环使用不同变量计数,同级循环可用相同变量计数,之间无影响。 【442.c】满载着爱的代码(heart) 问题描述:一年一度的教师节到了,笑笑打算给每位老师写一封电子邮件,表达他对老师无尽的感激与敬爱之情。邮件写好了,直接发出去未免有些单调,笑笑想在邮件的结尾附上些图案。左思右想,还是附上了一个心形的字符矩阵比较好看并且附有创意,如下图所示。为了极大地表示对老师的祝福

文档评论(0)

502992 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档