C语言问题求解答!!!!

编写十进制数到二进制、八进制、十六进制间的转换程序。要求:键盘输入一个十进制的数,输出其对应的二进制、八进制、十六进制数。小数部分可以只输出8位以内

#include
int b;
int i=0;
int c[50];
int n;
void main()
{
char base[]="0123456789ABCDEF";
int j,m;
void convert();
printf("输入一个十进制整数:\n");
scanf("%d",&n);
printf("输入数制基数:\n");
scanf("%d",&b);
m=n;
convert();
printf("%d转换成%d进制数为:",m,b);
for (i--;i>=0;i--)
{
j=c[i];
printf("%c",base[j]);
}
printf("\n");
}

void convert()
{
while (n!=0)
{
c[i]=n%b;
n=n/b;
i++;
}
}

给你伪代码
输入一个十进制数到data;
printf("%x\n",data);十六进制
printf("%0\n",data);八进制

http://blog.csdn.net/jhcconan614/article/details/53376163