/*------------------------------------------------------------------------------
(2)【程序设计】下列给定程序中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
------------------------------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
void fun(int m,int k)
{
int aa[20], i;
/**********Program**********/
i=0;
while(m)
{
aa[i]=m%k;
m=m/k;
i++;
}
/********** End **********/
for(;i;i--)
printf("%d", aa[i-1]);
}
main()
{
int b,n;
printf("\nPlease enter a number and a base:\n");
scanf("%d%d",&n,&b);
fun(n,b);
printf("\n ");
}
本程序的主函数输入两个数即需要转换的数和转换成几进制数,通过函数调用输出转换后的数。看子函数,m为需要转换的数,k为转换成几进制。我们知道十进制转换k进制的方法为除k倒取余,定义的i为aa[]下标,也是转换后的位数。因为除k倒取余,所以aa[i]=m%k,然后m/k。等到m为0时结束循环,也完成了转换