C实习报告分析和总结.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文档。上传文档
查看更多
课程实习报告 中国地质大学(武汉)信息工程学院高级语言课程设计实习报告 专业:地理信息系统班级:114122 学号:20121002074 姓名:李佳蓉 课程实习报告 课程实习报告 【需求说明】 实习题目一 进制转换 编写一个程序,实现 2/8/10/16 进制数之间转换。 即实现用户输入一个十进制的数字,利用函数实现转化为2 进制、8 进制、16 进制,并实现输出。 【算法设计】 设计思想 用户输入一个十进制数字,通过函数实现除以进制取余法来完成进制的转换。特别注意由于十六进制中超过 9 的数字需用字幕来表示,故需要对十六进制的运算结果通过switch 语句进行进一步判断。 总体设计 由于需要把余数分别输出,故需要将余数放在一个数组内。 用户输入一个十进制数字 用户输入一个十进制数字 调用进制转换函数f1 分别输出 2 进制,8 进制,16 分别输出 2 进制,8 进制,16 进制。 void f1(double p,int q) //定义一个无返回值类型的函数f1.形参为double 型的 p 和 int 型的q。p 即为需要转换的数字,q 为需要转换为的进制。 { int i,m,n,t=0,a[100]; //定义int 型变量i,m,n,t,并将t 初始化为 0,定义 一个数组a[100],用来存放取余结果。 for(i=0;;i++) //通过for 循环实现取余并逐位输出。 { n=(int)p/q; m=(int)p%q; p=n; a[i]=m; t++; if(n==0) break; } for(i=t-1;i=0;i--) { switch(a[i]) {case 10: coutA; break; case 11: coutB; break; case 12: coutC; break; case 13: coutD; break; case 14: coutE; break; case 15: coutF; break; default: couta[i]; break; } } } 详细设计 #include iostream using namespace std; void f1(double p,int q) //定义一个无返回值类型的函数f1.形参为double 型的p 和 int 型的 q。p 即为需要转换的数字,q 为需要转换为的进制。 { int i,m,n,t=0,a[100]; // 定义一个数组a[100],用来存放取余结果。 for(i=0;;i++) ////通过 for 循环实现取余并逐位输出。 { 课程实习报告 n=(int)p/q; m=(int)p%q; p=n; a[i]=m; t++; if(n==0) break; } for(i=t-1;i=0;i--) //实现逆序输出。 { switch(a[i]) {case 10: coutA; break; case 11: coutB; break; case 12: coutC; break; case 13: coutD; break; case 14: coutE; break; case 15: coutF; break; default: couta[i]; break; } } } void main() { double p; for(;;) { cout 输 入 一 个 要 转 换 的 实 数 p:; cinp; //用户输入需要转换的数字。 课程实习报告 课程实习报告 cout输出转换后的实数:\n; cout 2 进制: ; f1(p,2); //调用 f1。cout ; cout 8 进制: ; f1(p,8); //调用 f1。 cout ; cout16 进制: ; f1(p,16); //调用 f1。 } coutendl; } 【调试报告】 调试中十六进制转换过程中出现了 10 以上的数字,通过用switch 语句进行进一步判断解决了问题。代码仍然比较复杂,并且用户无法实现自由选取需要转换的进制,需要进一步改进。 【用户手册】 用户需要根据提示输入一个 10 进制的数字,即可输出相对应的2 进制,8 进制,16 进制数字。 实习题目二 五猴分桃 【需求说明】 五只猴子摘了一堆桃子,约好第二天早上来分。第一只猴子来得早,它将桃子平分成五堆,多出一个,它把多出的一个吃了,把属于自己的一堆拿走了,将剩下的还混成一堆其 他猴子来了也正好按一样的方法处理。编程求出原来最少有多少个桃子。(用递归函数。) 即利用递归函数逐个判断符合条件的数字,输出最小的数字。 (1)设计思想 利用逆向思维,从桃子数i 符合的条件入手,寻找符合条件的最小的数字i。 (2)总体设计 通过分析题目,容易知道每一次

文档评论(0)

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

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档