蓝桥杯的题 十六进制转八进制 我的解法哪里错了?

2025-05-19 02:14:27
推荐回答(2个)
回答(1):

虽然你没有上传完整题目
但从你数组开到20000000来看

输入的16进制很可能是很长的
这样 sscanf(a[i],"%x",&b[i]);

整型的b很可能是存不下的 导致错误。
比如输入
1234567890ABCDEF
转成8进制应该是
110642547422052746757
明显你这个代码会得出错误结果。

回答(2):

蓝桥杯,涉及到算法。不可能就这样让你用c库函数就解答出来。楼上说的也有道理,就是预防你们用函数来解答。
请你自己用算法来把16进制转换成8进制,不要偷懒。不然这个蓝桥杯就没有意义了