第2章算法---程序的灵魂(包含闰年版本)讲义.ppt

第2章算法---程序的灵魂(包含闰年版本)讲义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例2.18 将例2.16表示的算法(求5!)用C语言表示。 #include stdio.h int main( ) { int i,t; t=1; i=2; while(i=5) { t=t*i; i=i+1; } printf(%d\n,t); return 0; } 例2.19 将例2.17表示的算法(求多项式 的值)用C语言表示。 #include stdio.h int main( ) { int sign=1; double deno = 2.0,sum = 1.0, term; while (deno = 100) { sign = -sign; term = sign/deno; sum = sum+term; deno = deno+1; } printf (%f\n,sum); return 0; } 2.5结构化程序设计方法 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 2.5结构化程序设计方法 采取以下方法保证得到结构化的程序: (1) 自顶向下; (2) 逐步细化; (3) 模块化设计; (4) 结构化编码。 例2.6 将1×2×3×4 ×5用流程图表示。 1?p i5 开始 2?i p*i?p i+1?i 结束 N Y S1:使p=1,或写成1?p S2:使i=2,或写成2?i S3:使p与i相乘,乘积仍放在变量p中,可表示为:p*i?p S4:使i的值加1,即i+1 ?i S5:如果i不大于5,返回重新执行S3;否则,算法结束 最后得到p的值就是 5!的值 例2.6 将1×2×3×4 ×5用流程图表示。 如果需要将最后结果输出: 1?p 输出t i5 开始 2?i p*i?p i+1?i 结束 N Y #include stdio.h int main( ) { int i,p; p=1; i=2; do { p=p*i; i=i+1; }while(i=5); printf(“积=%d\n,p); return 0; } 例2.7 例2.2的算法用流程图表示。有50个学生,要求将成绩在80分以上的学生的学号和成绩输出。 1?i i50 开始 i+1?i 结束 N Y 输入ni、gi 1?i 开始 gi≧80 输出ni、gi i+1?i i50 N Y Y N 如果包括输入数据部分 ① 1?i i50 开始 i+1?i 结束 N Y 输入ni、gi 1?i gi≧80 输出ni、gi i+1?i i50 N Y Y N 如果包括输入数据部分 ① ① 例2.8 例2.3判定闰年的算法用流程图表示。判定2000—2500年中的每一年是否闰年,将结果输出。 N Y N 开始 2000?year year不能 被4整除 year是闰年 year不能 被100整除 year+1?year year2500 结束 Y year不能 被400整除 year 不是闰年 year是闰年 year不是闰年 Y N Y N 例2.9 将例2.4的算法用流程图表示。求 0?sum 1?deno 1?sign sum+ sign*(1/deno) ?sum deno+1?deno (-1)*sign?sign Y deno=100 N 输出sum 结束 开始 #include stdio.h int main( ) { int sum, deno, sign; sign=1; sum=0; deno=1; do { sum=sum+sign*(1/deno); deno = deno + 1; sign=sign*(-1); }while(deno=100); printf(“和=%f\n,sum); return 0; } 例2.10 例2.5判断素数的算法用流程图表示。对一个大于或等于3的正整数,判断它是不是一个素数。 N Y 输出n是素数 结束 开始 输入n 2?i n%i?r r=0 i+1?i in/2 输出n不是素数 Y N #include stdio.h int main( ) { int n, i, r; scanf(“输入n: %d”, n); i=2; do

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档