* * * 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的求解 分析: 以十进制格式读
您可能关注的文档
- 第7章无形资产资..ppt
- 第7章物流仓储、装卸搬运业务法规..ppt
- 第7章-物资调运问题的图上作业法..ppt
- 第7章习题答案..ppt
- 第7章相似材料模拟方法..ppt
- 第7章消费信贷..ppt
- 第7章遥感数字图像的计算机解译..ppt
- 第7章应用架构设计..ppt
- 第7章用电设备防火..ppt
- 第7章油气储运系统安全..ppt
- 2024-2025学年河北省邯郸市永年区统编版六年级下册期末考试道德与法治试卷[附答案].pdf
- 2024-2025学年河南省南阳市唐河县统编版六年级下册期末考试道德与法治试卷[附答案].pdf
- 2024-2025学年山东省临沂市郯城县统编版六年级下册期末考试道德与法治试卷[附答案].pdf
- 2024-2025学年内蒙古赤峰市巴林左旗统编版六年级下册期末考试道德与法治试卷[附答案].pdf
- 2026年机动车大气污染防治管理办法题库及答案.docx
- 员工薪酬满意度调查表2026年.docx
- 员工手册公示的通知.docx
- 2026年海关退税管理办法题库及答案.docx
- 江苏省常州市教育学会2023-2024学年高一下学期期中学业水平监测政治Word版.docx
- 山西省部分学校2024-2025学年高三上学期9月月考政治(原卷版).docx
原创力文档

文档评论(0)