多进制转换代码:
#include <stdio.h>
#include <string.h>
void convto(char *s, int n, int b) // s: 字符指针 n:转换数,b:基数
{
char bit[] = {"0123456789ABCDEF"}; // 16进制
int len;
if( n == 0)
{
strcpy(s,"");
return ;
}
convto(s,n/b, b);
len = strlen(s); // 转换后的进制长度
s[len] = bit[n%b]; // 保存余数
s[len+1] = '\0';
}
void main()
{
char s[80];
int i, base,old;
printf("请输入十进制数:");
scanf("%d",&old);
printf("请输入转换的进制:");
scanf("%d",&base);
convto(s,old,base);
printf("%s\n",s);
getch();
return;
}