很简单的一道作业题,也是金山一道笔试题,算法上也没多大可说的,只是勤练练手吧。
算法步骤:
1、将n进制数转换为10进制;
2、将10进制数转换为m进制;
下面是程序代码(为了模块重用写做两个函数):
#include <stdio.h>
#include "math.h"
#include "string.h"

#define NUM_LENGTH 50

当然,上面的程序并不完善,存在以下问题:
1、只能处理16进制以下的数的任意转换,这个问题易于解决,将IntToChar和ConvertCharToInt扩展几个数即可;
2、不能处理过大的数,这个问题解决起来也不太麻烦,见http://www.cnblogs.com/phinecos/archive/2009/09/11/1564975.html;
算法步骤:
1、将n进制数转换为10进制;
2、将10进制数转换为m进制;
下面是程序代码(为了模块重用写做两个函数):
当然,上面的程序并不完善,存在以下问题:
1、只能处理16进制以下的数的任意转换,这个问题易于解决,将IntToChar和ConvertCharToInt扩展几个数即可;
2、不能处理过大的数,这个问题解决起来也不太麻烦,见http://www.cnblogs.com/phinecos/archive/2009/09/11/1564975.html;