- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章字符数组与字符串
* * * BToD()函数的实现 /*函数的功能是计算k进制的字符串str对应的十进制数*/ int BToD(char str[], int k); 假设str: ”3456”, 进制为10, 将十进制的”3456”转换为十进制整数3456 //d将不断左移(乘10),再加上个位 d=0; 扫描字符串”3456”: i=0: d=d*10+3=3; i=1:d=3*10+4=34; i=2:d=34*10+5=345; i=3: d=345*10+6=3456 假设str: ”1101”, 进制为2, 将二进制的”1101”转换为十进制整数 //d将不断左移(乘2),再加上个位 d=0; 扫描字符串”1101”: i=0: d=d*2+1=1; i=1:d=1*2+1=3; i=2:d=3*2+0=6; i=3: d=6*2+1=13 程序7-6的main() int main(void) { char str1[N], str2[N], str3[N]; int a, b, c, temp; scanf(%s%s%s, str1, str2, str3); /* 输入三个二进制数 */ a = BToD(str1); /* 函数调用三次,得到三个十进制数 */ b = BToD(str2); c = BToD(str3); if(a b) { temp = a; a = b; b = temp; } if(a c) { temp = a; a = c; c = temp; } if(b c) { temp = b; b = c; c = temp; } printf(%d %d %d\n, a, b, c); return 0; } 程序7-6的BToD() /* 把一个二进制数转换成对应的十进制数 */ int BToD(char str[]) { int i, d; d = 0; for(i = 0; str[i] != \0 ; i++) d = d * 2 + (str[i] - 0); return d; } 7.4.3 最大值——多种进制 解决问题:输入n个非负整数,每个数的进制由其后面的数字k指定,k=2且k=10,输出最大的数对应的十进制数。 思路分析: (1)k进制数要用字符串来存储 (2)借鉴、将上一节的函数BToD()改写为函数KToD(),将一个K进制数转化为十进制整数。 (3)利用第四章所学的求最大值的方法求出其中的最大值。 程序7-7 int main(void) { 读入个数n; max = 0; for i=1,2,…, n { 读入数字串存入a,读入进制存入k; 将k进制的a转换为十进制,存入d; 如果 d max, 更新max } 输出max; } scanf(%s%d, a, k); d = KToD(a, k); int KToD(char str[], int k); int main(void) { int i, n, k, d, max; char a[50]; scanf(%d, n); max = 0; /*所有输入为非负数*/ for(i=1; i=n; i++) { scanf(%s%d, a, k); d = KToD(a, k); if(d max) max = d; } printf(%d\n, max); return 0; } 程序7-7的KToD() /*将k进制数str转换为十进制*/ int KToD(char str[], int k) { int i, sum; sum = 0; for(i = 0; str[i] != \0; i++) sum = sum * k + (str[i] - 0); return sum; } 课堂练习 改写BToD函数,将k(k = 16)进制转换为10进制。 7.4.4 十进制转换为r进制 问题1:将一个十进制n(0n109)转换为16进制数输出。 问题2:将一个十进制n(0n109)转换为二进制数存入字符串str。 问题3:将一个十进制n(0n109)转换为r(1r17)进制数存入字符串str。 问题1的求解 分析: 以十进制格式读
您可能关注的文档
- 8位多累加器CPU实验报告.pdf
- 易语言教程 从入门到精通.pdf
- 第六章时序逻辑电路-4.ppt
- 第3章 Robobasic语言.pdf
- 复习第二讲_进制转换及运算.ppt
- Digital circuit 1数制和转换.pdf
- 4021 CMOS 异步8位并入同步串入-串出寄存器.pdf
- 考研南京大学计算机组成原理lecture03.pdf
- 组合电路内建自测试技术的研究_杨兴.pdf
- 实验三、白盒测试技术(一).doc
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- 矛盾纠纷调解课件.pptx VIP
- 人际沟通风格测试及分析.doc
- 2010-2023历年福建省福州外国语学校七年级上学期期中考试地理试卷(带解析).docx VIP
- 人教版小学三年级英语上册第二单元测试题(附答案).pdf VIP
- 知到智慧树中华民族风情巡礼(青海民族大学)章节测试及答案.doc VIP
- TGXAS-风湿免疫性疾病患者生物制剂皮下注射护理规范及编制说明.pdf
- 施工质量验收标准东易日盛.doc VIP
- 电力电子技术期末考试试题答案(参考).doc VIP
- 垃圾清运服务投标方案技术标.doc
- 安徽省合肥市庐阳区2023-2024学年九年级上学期数学期末模拟卷一(含答案).docx VIP
原创力文档


文档评论(0)