给定程序M0DI1.C中函数fun的功能是将十进 制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000 (即十进 制数8转换成二进制表示是1000 )。
请改正fun函数中的错误,使它能得出正确的结果。
注意:不要改动main函数。不得增行或删行, 也不得更改程序的结构!
给定源程序如下。
(1) aa[i]=m%k;
(2) printf(."%d",aa[i-1]);
(1)将十进制正整数转换为任意进制的数与十 进制正整数转换成二进制的数的方法是一样的。从 整数n得出它的各位k进制数值,需采用除k取余 的方法,即求n除k的余数,得到它的k进制的个 位数,接着将n除以k。在n≠0的情况下循环, 能顺序求出n的k进制的各位上的数。
(2)在for(i=0;m;i++)循环结束时,i已经多加了 一个1,所以这里要减去1。