实验四结构化程序设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四结构化程序设计 一、 实验目的 1?掌握结构化程序设计思想和算法设计方法 掌握各类语旬的用途和使用方法 掌握条件的表示方法 掌握表示条件结构的儿种语句形式 掌握表示循环结构的几种语句形式 掌握break语句和continue语句的功能和使用 了解goto语句的适用范围及使用 二、 实验相关知识 本次实验涉及如何根据一个问题来设计算法,采用“口顶向下,逐步细化”的结构化 程序设计方法,以及如何将算法用C语言描述出來。掌握C语言中三种程序控制结构:顺 序、选择和循环及对应的各类语旬。如表达式语句、复合语句、空语句、条件语句、循环语 句和跳转语句,以及表示条件的关系运算符(V、<=. >、>=、==> !=)和逻辑运算符(!、 、II)的使用。 基本的顺序结构语句有表达式语句、空遇句、复合语句等,选择结构语句有if语句和 switch语彳U等,循环结构语句冇while语彳U、do-while语句和for语旬以及跳转语句break和 continue 等。 表示选择结构的语句形式 If(表达式)语句 if(表达式) 语句1 else 语句2 if(表达式1) 语句1 else if(表达式2) 语句2 ? ? ? else if (表达式n-1) 语句wl else 语句n if (表达式1) if (表达式2)语句1 else语句2 else if (表达式3)语句3 else语句4 switch (表达式){ case常址表达式1:语句列1 case常最表达式2:语句列2 ■ ■ case常量表达式n:语句列n default:语句列/2+7 } 表示循环结构的语句 while (表达式)语句 do 语旬 while (表达式); ? for (表达式1;表达式2;表达式3) 语句 表示跳转的语句 ? break语句可用来跳出switch语句或循坏结构,其一般形式为: break; 要注意的是,break语句仅用于跳出所在的switch语句或循环语彳ij。例如: for(i=l;i10;i++) for(j=l;j10;j++){ if(i*j%3==0) break; ) 在i=l, j=3时条件满足执行break语句,此处的break语旬并不会导致程序跳出两重for 循环语句,实际的执行效果是break语句跳出第二个for循环,执行i++,然后再继续判断第 一?个for语句的条件i10是否满足。 ? continue语句用于跳过循环体内余下的语句,并继续执行F—次循环,其一般形式为: continue; 三、实验要求 程序均需在编译器中进行试验 实验完成后只需要上交源程序文件 源程序文件名均使用“4—题号?c”作为文件名,如4」.c. !1!实验内容 !1! 实验内容 己知2009年1刀1号是星期四,给定2009年的任何一天(刀L1),求这天是星期几 (输出最后结果要求用switch语句实现)。一周七天用以下标识: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday 例如:输入3.30时应输出Monday,输入6.19时应输出Friday 编写程序,实现从键盘输入一个正整数,输出该正整数的位数。例如输入1234输出 4 ,输入123456输出6o 验证命题:如果一个三位整数是37的倍数,则这个整数循环左移后得到的另两个3 位数也是37的倍数。例如,148是37的倍数,481和814也是37的倍数。若命题正确输出 所冇符合命题的3位整数,否则输出“wrong”。 编程求 1+2!+3!+...+ 10!的和。 编程找出1000 Z内的所冇完数。所谓完数是指一个数与其除木身以外所冇因了之和 相等。例如6除本身以外的因子有1、2、3,而6= 1+2+3,所以6是一个完数。 验证命题:任何各位数字不全相同的三位正整数经以下变换后均能变为495,称495 为三位整数的黑洞数。 变换步骤:对于任意一个各位数字不全相同三位止整数,将组成该整数的3个数字重新 组合分别生成一个最人数和最小数,用最人数减去最小数得到一个新的三位数;再对新的三 位数重复上述操作,最多重复7次。 编写程序,接收键盘输入的一个三位正整数,判断各位数字是否不全相同,若不全相同 则实施以上变换(不超过7次),输岀每步变换后得到的三位整数。 【测试数据】 输入486时应输出:486 396 594 495 输入 591 时应输出:591 792 693 594 495 输入其他任意的三位数再做验证。 输入一个100以内的正整数,将其分解质因数后输出。如输入60,输出60=2*2*3*5。 五、难点提示 要计算2009年某月某日是星期几,首先耍计算该日子是2009年的第几天,第几天 可以利川天数

文档评论(0)

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

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

1亿VIP精品文档

相关文档