- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
步骤3 分解“显示素数”子任务:判定当前的数字是否是素数,如果是素数就显示出来。 任何位于100到200之间不是素数的数,至少有一个从2到14之间的除数。 4-* 显示素数 没有除数? num是素数,将其显示 真 假 显示素数 用2到14之间的 整数去除num 步骤3 步骤4 精炼“用2到14之间的整数去除一个数” 子任务:用2到14之间的所有整数去除当前的数,并且判断是否可以整除。 计数器控制的循环结构。 4-* divisor=14? 计算num/divisor 真 假 初始化除数 divisor=2 divisor= divisor+1 用2到14之间的 整数去除num 标志变量 如何记录某个数可以被2到14之间的整数整除? 在内部循环开始之前,设标志变量prime为TRUE。如果在2到14之间找到了一个除数,设标志为FALSE,并跳出内部循环。 内部循环结束后,如果prime保持为TRUE,就说明由外部循环产生的数没有除数,是素数。 利用宏替换,定义两个符号名TRUE和FALSE,分别映射为1和0。 4-* C程序 #include stdio.h #define FALSE 0 #define TRUE 1 int main(){ int num; int divisor; int prime; /*从100开始直到200*/ for (num=100; num=200; num++){ prime=TRUE; /*假设该数是素数*/ /*测试num是否是素数*/ for (divisor=2; divisor=14; divisor++) if ((num%divisor)==0){ prime=FALSE; break; } if (prime) printf (The number %d is prime\n, num); } } 4-* 问题3:计算字符串“int”出现的次数 由键盘键入一行字符,计算这行字符包含多少个字符组合“int”。 步骤0:需要处理由用户输入的字符数据。最适合的类型是字符类型,即char。 实际上,对于输入一行字符,最好的表示方法是字符数组,或字符串。 4-* 步骤1 包括两个子任务:处理输入和输出结果 4-* 开始 处理输入 结束 输出结果 步骤2 分解“处理输入”子任务中 由于一次只能读入用户输入的一个字符,并进行处理。 该子任务需要一个字符接一个字符处理,直到到达一行字符的末尾 采用标志控制的循环。末尾是换新行字符,即“\n”。 4-* 处理输入 处理下一个字符 更多字符? 假 真 处理输入 步骤3 细化“处理下一个字符”。 检查输入的字符,记录下是否连续出现了“int”字符组合。 4-* 处理下一个字符 获得下一个字符 遇到i? 假 遇到n? 假 遇到t? 假 GotI=0, GotIN=0. 真 GotI=1. GotIN=0. 真 if GotIN, GotIN=0. if GotI, GotIN=1. GotI=0. 真 if GotIN, count++. GotI=0. GotIN=0. GotI和GotIN:记录可能出现的3种状态 在遇到字符i后,状态为GotI=1,GotIN=0; 在遇到字符组合in后,状态为GotI=0,GotIN=1; 在遇到字符组合int后,计数器count加1,且状态为GotI=0,GotIN=0;遇到其他字符组合,状态为GotI=0,GotIN=0。 4-* C程序 #include stdio.h #define FALSE 0 #define TRUE 1 int main(){ char nextChar; /*字符串中的下一个字符*/ int gotI=FALSE; /*表明i是否被找到*/ int gotIN=FALSE; /*表明in是否被找到*/ int count=0; /*记录次数*/ ? printf (Enter your string: ); do{ scanf (%c, nextChar); ? 4-* switch (nextChar) { case ‘i’: gotI=TRUE; gotIN=FALSE; break; case ‘n’: if (gotIN) gotIN=FALSE; if (gotI) gotIN=TRUE; gotI=FALSE; break; case ‘t’: if (gotIN) count++; gotI=FALSE; gotIN=FALSE; break; default: got
您可能关注的文档
- 要用前方课件定稿.ppt
- 要素禀赋理论及其拓展.ppt
- 观察下面一则漫画.ppt
- 覃定富专项资料2010-灭火器的使用.ppt
- 观察人物特点写出人物个性200622572321333.ppt
- 观察和描写景物的特点.ppt
- 观察景物描写清楚--作文.ppt
- 观潮第一课时公开课.ppt
- 观点对比型作文.ppt
- 观点对立型作文写作指导课件.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)