设计函数int numConvert(int number,int n,int m),用于将n进制的数number转化为m进制的数并返回,其中2<=n<=10,2<=m<=10。
例如将二进制数110转化为三进制时,即调用numConvert(110,2, 3),函数返回值为20。
测试用例保证输入及返回值都在int型变量范围内。
输入与输出要求:
输入三个正整数number、n和m,三个整数的意义如题目叙述。输出转化后的结果。
int numConvert(int number,int n,int m);
其中 number
、n
和 m
都是用户传入的参数,含义如题面所述。函数的返回值为转换后的结果。
#include
//将n进制转换为m进制
int numConvert(int,int,int) ;
int main()
{
int number , m , n ;
scanf("%d%d%d",&number,&n,&m);
printf("%d\n",numConvert(number,n,m));
return 0 ;
}
/* 请在这里填写答案 */
110 2 3
20
666666 9 10
398580
int numConvert(int number,int n,int m){
int num=0;int mult=1;
while(number){
num+=(number%10)*mult;
number/=10;
mult=mult*n;
}
int tmp=0;mult=1;
while(num){
tmp+=(num%m)*mult;
mult=mult*10;
num/=m;
}
return tmp;
}