将一个十进制数n转化为B进制数。
步骤:重复执行以下步骤(1)和步骤(2),知道n为0.
(1)取B进制数的个位:求雨运算n%B,把结果存入数组。
(2)讲B进制数降一阶:整除运算n=n/B。
(3)从后往前输出数组元素。如果数组元素小于10,照原样输出;如果数组元素大于等于10,输出其相应的符号,例如,10输出a,11输出b,......
#include<stdio.h>
void number_system_conversion(long n,int B);//数制转换函数声明
int main()
{
int number,sys;
printf("Input an integer:");
scanf("%d",&number);
printf("Input a number system:");
scanf("%d",&sys);
number_system_conversion(number,sys);
return 0;
}
void number_system_conversion(long n,int B)
{
int m,i=0,a[32];
while(n!=0)
{
a[i++]=n%B; //1)
n=n/B; //2)
}
while(i>0)
{
m=a[--i];
if(m<10)
printf("%d",m);
else
printf("%c",m+87);
}
printf("\n");
}