答案不标准也不一定是最佳,仅供参考
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void ToXBase(unsigned int x,unsigned int n,char *s)
{
int i=0,j;
char ch;
while(x >= n)
{
itoa(x%n,&s[i],33);
x=x/n;
i++;
}
itoa(x%n,&s[i],33);
for(j=0;j<i;i--,j++)//前后交换
{
ch=s[j];
s[j]=s[i];
s[i]=ch;
}
}
void main()
{
char s[33];
ToXBase(50,2,s);
printf("s=/"%s/"/n",s);
ToXBase(50,8,s);
printf("s=/"%s/"/n",s);
ToXBase(50,16,s);
printf("s=/"%s/"/n",s);
ToXBase(50,33,s);
printf("s=/"%s/"/n",s);
ToXBase(50,36,s);
printf("s=/"%s/"/n",s);
}
完整内容所在目录:http://www.mythroad.net/tag/q_written_examination_and_interview_code_title/