答案错误,帮修改一下呗

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;
}