- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例6.9 求100~200间的全部素数。#include stdio.h# include math.h void main() {int m,k,i,n=0; for(m=101;m=200;m=m+2) { k=sqrt(m); for (i=2;i=k;i++)if (m%i==0) break;if (i=k+1){printf(%d ″,m);n=n+1;}if(n%10==0) printf(″\n″); }printf (\n);} 运行结果: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 §6.9 程 序 举 例 例6.10 译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。 例如:可以按以下规律将电文变成密码: 将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。素数。 如图所示 图 例6.10输入一行字符,要求输出其相应的密码include stdio.h void main() {char c; while((c=getchar())!=′\n′) {if((c=′a′ c=′z′) || (c=′A′ c=′Z′)) { c=c+4; if(c′Z′ c=′Z′+4 || c′z′) c=c-26; } printf(″%c\n″,c); }} 运行结果: China!↙ Glmre! § 6.5 用for 语句实现循环 表达式2? 执行语句 成立 不成立 执行for循环之后的语句 执行表达式3 执行表达式1 循环初始条件 循环控制条件 循环体 for语句等价于下列语句: 表达式1; while (表达式2) { 语句; 表达式3; } § 6.5 用for 语句实现循环 for语句最简单的应用形式也就是最易理解的如下形式: for(循环变量赋初值;循环条件;循环变量增值) 例如: for(i=1;i=100;i++) sum=sum+i; 它相当于以下语句: i=1; while(i=100) {sum=sum+i;i++;} 显然,用for语句简单、方便。 § 6.5 用for 语句实现循环 说明: (1) for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意省略表达式1时,其后的分号不能省略。如 for(;i=100;i++) sum=sum+i; 执行时,跳过“求解表达式1”这一步,其他不变。 § 6.5 用for 语句实现循环 说明: (2) 如果表达式2省略,即不判断循环条件,循环无终 止地进行下去。也就是认为表达式2始终为真。 例如:for(i=1; ;i++) sum=sum+i; 表达式1是一个赋值表达式,表达式2空缺。它相当于: i=1; while(1) {sum=sum+1;i++;} 图6.7 § 6.5 用for 语句实现循环 说明: (3) 表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。如: for(i=1;i=100;) {sum=sum+i;i++;} 在上面的for语句中只有表达式1和表达式2,而没有表达式3。i++的操作不放在for语句的表达式3的位置处,而作为循环体的一部分,效果是一样的,都能使循环正常结束。 § 6.5 用for 语句实现循环 说明: (4) 可以省略表达式1和表达式3,只有表达式2,即只 给循环条件。如: for(;i=100;) while(i=100) {sum=sum+i; 相当于 {sum=sum+i; i++;} i++;} 在这种情况下,完全等同于while语句。可见for语句 比while语句功能强,除了可以给出循环条件外,还可 以赋
文档评论(0)