程序设计基础(C语言)机电(专科)实验指导书-2011-2012-2(1).docxVIP

程序设计基础(C语言)机电(专科)实验指导书-2011-2012-2(1).docx

  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文档。上传文档
查看更多
《程序设计基础(C 语言)》实验指导书 实验课程名称:程序设计基础 英文名称: Foundation of computer programming 实验指导教师:刘小明学时:6 适用专业:机电一体化专业专科 实验 1 循环结构程序设计 一、实验目的 熟悉用while 语句,do-while 语句和for 语句实现循环的方法。 掌握在程序设计中用循环和数组结构的方法实现各种算法(如穷举、迭代、递推等)。 熟悉 break 语句和continue 语句用法的不同之处。 二、实验内容 【1】打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和正好等于该数本身。例如:153 是一个“水仙花数”,因为 153=13+53+33。 解题思路:根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,然后 判断是否满足(某一三位数 a=a 的百位的立方+a 的十位的立方+a 的个位的立方)这个公式, 满足这个三位数就是“水仙花数”。 #include stdio.h void main () { int a, b, c, n; for(n = 100; n 1000; n++) { a = n / 100; b = n / 10 – a * 10; c = n % 10; if (n == a*a*a + b*b*b + c*c*c) printf(“%5d”, n); } } 输入并执行该程序,观察输出结果。 【2】以下程序,输出下三角形状的乘法九九表。 #include stdio.h void main () 第 1 页/共 4 页 { int i, j; printf (%3c |, ); /*打印表头行首 */ for (i = 1; i = 9; i++) /* 打印表头 */ printf (%3d, i); printf (\n); for (i = 0; i 32; i++) printf (%c, -); printf (%c, \n); for (i = 1; i = 9; i++) /* 循环体执行一次,打印一行 */ { printf (%3d |, i); /*打印行首 */ for (j = 1; j = i; j++) /* 循环体执行一次,打印一个数据 */ printf (%3d, i * j); printf (\n); /每* 行尾换行 */ } } 输入并执行该程序,观察输出结果,试着修改程序打印上三角形状的乘法九九表。 三、选做题(至少选一题) 编写程序,用循环和数组计算 12+22+...+n2 的值。 李先生岁数的平方与他的夫人的岁数之和是 1053,而他的夫人的岁数的平方与他的岁数之和是 873,请编写程序计算李先生及其夫人的岁数各是多少。 输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 实验 2 函数 一、实验目的 掌握定义函数的方法; 掌握函数实参与形参的对应关系以及“值传递”的方式; 掌握函数的嵌套调用和递归调用的方法; 掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法; 二、实验内容 【1】有 5 个人,第5 个人说他比第 4 个人大 2 岁,第 4 个人说他对第 3 个人大 2 岁,第 3 个人说他对第 2 个人大 2 岁,第 2 个人说他比第 1 个人大 2 岁,第 1 个人说他 10 岁。求第5 个人多少岁。 分析: 10 (n=1) age(n)= 程序如下: age(n-1)+2 (n1) #include stdio.h int age (int n) 第 2 页/共 4 页 { if (n == 1) return 10; else return age (n - 1) + 2; } void main () { printf (age: %d\n, age (5)); } 输出结果? 【2】反向输出一个整数(非数值问题) 非数值问题的分析无法象数值问题那样能得出一个初值和递归函数式,但思路是相同的。 分析方法: ①简化问题:设要输出的正整数只有一位,则“反向输出”问题可简化为输出一位整数。 ②对大于 10 的正整数,逻辑上可分为两部分:个位上的数字和个位以前的全部数字。将个位以前的全部数字看成一个整体,则为了反向输出这个大于10 的正整数,可按以下步骤: a、输出个位上的数字; b、将个位除外的其他数字作为一个新的整数,重复a 步骤的操作。其中b 问题只是对原问题在规模上进行了缩小——递归。 所以,可将反向输出一个正整数的算法归纳为: if (n 为一位整数) 输出n; else { 输出n 的个位数字; 对剩余数字组成的新整数重复“反向输出”操作; } 程序如下: #include stdio.h

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档