把任意十进制数转为想要的进制

View Code
#include "iostream"
#include "cstring"
using namespace std;
char *output(int n,int m)
{

      char ch[]="0123456789ABCDEF";
      char *tmp=new char[100];
      char *result=NULL;
      memset(tmp,0,100);
      int i=0,j;
      while(n)
      {
           tmp[i]=ch[n%m];
           n/=m;
           i++;
      }
      result=new char[i+1];
      memset(result,0,i+1);
      for(j=0;j<i;j++)
         result[j]=tmp[i-1-j];
      delete [] tmp;
      return result;
}

int main()
{
    int N,M;
    char *result=NULL;
    while(cin>>N>>M)
    {
         result=output(N,M);
         cout<<result<<endl;
         delete [] result;
         result=NULL;

    }

 

 

}

算法较为简单,看代码就可以了

原文地址:https://www.cnblogs.com/aijianiula/p/3060061.html