int sw(int x,int a)
{
int sum=0;
int t=0,z=1,j=x,i=0;
do
{
j%=10;
x/=10;
for(t=0;t<i;t++)
{
z*=a;
}
sum+=j*z;
i++;
j=x;
}while(x!=0);
return sum;
}将a进制数x转化为10进制
要求定义函数:int sw(int x,int a)//返回a进制x转化为10进制后的结果
(a>=2 && a<=10)
本题只允许提交函数及其内容,提交多余内容会编译错误
C/C++函数原型:int sw(int x,int a)
Java函数原型:public static int sw(int x, int a)
修改见注释处,供参考:
int sw(int x, int a)
{
int sum = 0;
int t = 0, z, j = x, i = 0; //修改
do
{
j %= 10;
x /= 10;
for (t = 0, z = 1; t < i; t++)//修改
{
z *= a;
}
printf("j=%d,z=%d\n", j, z);
sum += j * z;
i++;
j = x;
} while (x != 0);
return sum;
}