- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)总体设计
通过分析题目,容易知道每一次
您可能关注的文档
最近下载
- 质量、环境、职业健康安全管理体系内审员培训-试卷.doc VIP
- 5G网络切片计费策略-深度研究.pptx
- 《慢性肾脏病相关心肌病综合管理中国专家共识(2024版)》解读.pptx VIP
- 标准课程HSK4第十三课教案.docx VIP
- GB4789-3-2016大肠菌群计数培养基原理解析.docx VIP
- 心理健康症状自评量表SCL(完整版).pdf VIP
- 22S804 矩形钢筋混凝土蓄水池.pdf
- 木工课程教学课件.ppt VIP
- 一文读懂《公平竞争审查条例》PPT课件.pptx VIP
- 2025年山东省网络安全工程专业职称考试(网络生态建设与治理·中级)历年参考题库含答案详解(5卷).docx VIP
文档评论(0)