[求助]进制转换的编程题
/* 函数fun的功能是:将十进制正整数m转换成k进制(2≤k≤9)数的数字输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
void fun(unsigned m , unsigned k)
*/
#include <stdio.h>
void fun(unsigned m,unsigned k);
void main(void)
{
unsigned int m,k;
scanf("%u%u",&m,&k);
fun(m,k);
}
void fun(unsigned m,unsigned k)
{
unsigned int a[4],i=0,j;
while(m%k!=0)
{
a[i]=m%k;
m=m/k;
i++;
}
for(j=0;j<=i;j++)
printf("%u",a[i-j]);
printf("\n");
}
我的思路是根据十转K进制是除K取余法`````
取得的余数放到一个数组中````除到最后无法再除的时候```
输出则由数组逆输出``不过我运算的结果不行
问题出在哪``
是不是数组上?数组后面没用到的单元是垃圾值还是0?