完全不会呀,帮帮我吧了。进制转换题

4.编程实现:将从键盘输入的一个十进制整数,按照用户需要,实现向二进制、八进制、十六进制的转换。可将转换结果存放在一维数组中(每一个数组元素存放一个转换后的进制位)。定义一个实现进制转换的函数:int ConvertDto(int m,int a[],int model) 其中m是待转换的十进制数据,a[]用于存放转换后的数据,model是需要转换的进制(2代表2进制,8代表8进制等),函数的返回值是转换之后的数据位数。主函数完成数据的输入、通过调用子函数得到转换后的数据、输出转换后的数据。运行结果参见样张:

img

这样可以吗
#include <stdio.h>
int ConverDto(int m,int model,int a[64])
{
int b,c[64],d;
for(b=0;m;b++)
{
c[b]=m%model;
if(m%model>=10)
c[b]='A'+(m%model-10);
m=m/model;
}
b--;
for(d=0;b>=0;d++,b--)
{
a[d]=c[b];
}
return d;
}
int main()
{
int m,model,a[64],b;
printf("请输入一个十进制数:");
scanf("%d",&m);
printf("请输入需要转换的进制:");
scanf("%d",&model);
b=ConverDto(m,model,a);
printf("转换后的数据为:\n");
for(m=0;m<b;m++)
{
if(a[m]>=10)
printf("%c",a[m]);
else
printf("%d",a[m]);
}
printf("\n");
return 0;
}