在论坛c++版看到的面试题,拿来研究研究.
1)实现string tohex(int)把一个十进制转换成十六进制.(完全用算法实现) 【程序编程相关:第二版出错的地方,大家看看第三版我的翻译】 【推荐阅读:mem】2)实现一个计算大位数(如100位以上)相乘结果的函数string multiply(sting,string).(请完全用算法实现) 【扩展信息:根据汉字声母,在表中找相关记录。比如输入】 第一个题目很简单,就是用十进制数不停的除以16,将所有的余数累加起来便是结果.我用c++简单的实现了一下,下面是代码(vc++.net/windows xp): #include <iostream> #include <string> using namespace std;string tohex(int dec)
{ unsigned int udec = (dec>=0)?(dec):(-dec), yushu; int pos = 8; char hex[11]; memset(hex, ´0´, 9); hex[9] = ´h´; hex[10] = ´\0´;do//求余数
{ yushu = udec%16; hex[pos--] = (yushu>9)?(yushu+55):(yushu+48); udec = udec/16; } ... 下一页