#include<stdio.h>
#include<string.h>
void convto(char *s,int n,int b){
??? char bit[]=("0123456789ABCDEF");
??? int len;
??? if(n==0){
??????? strcpy(s,"");
??????? return;
??? }
??? /*每次运行到这里,递归进入下一个函数的调用
??? 直到n==0返回 然后接着往下面运行*/
??? convto(s,n/b,b);
??? len=strlen(s);
??? s[len]=bit[n%b];
??? s[len+1]=‘\0‘;
}
int main(){
??? char s[80];
??? int i,base,old;
??? printf("请输入十进制数:");
??? scanf("%d",&old);
??? printf("请输入要转换成的进制:");
??? scanf("%d",&base);
??? convto(s,old,base);
??? printf("%s\n",s);
??? return 0;
}
原文:http://qq-24665727.iteye.com/blog/2298483