

代码运行没问题,答案显示错误,有没有哥们能够解答一下,或者正确的代码应该怎么写?
#include<stdio.h>
int main()
{
int t,k,x,j,len;
long sum=0;
char n[100],num[100];
scanf("%d",&t);
for(int i=0;i<t;i++)
{
len=0;
scanf("%d\n",&k);
//scanf("\n");
scanf("%s",&n);
sum=0;
for( j=0;n[j]!='\0';j++)
{
if(n[j]>='A')//&&n[j]<=k-10+'A')
sum=sum*k+(n[j]-'A'+10);
else
sum=sum*k+(n[j]-'0');
}
long sum1=sum;
if(sum==0)
{
printf("0");
}
while(sum1!=0)
{
x=sum1%17;
if(x<=9)
num[len++]=x+'0';
else
num[len++]=x-10+'A';
sum1/=17;
}
for(int e=len-1;e>=0;e--)
{
printf("%c",num[e]);
}
printf("\n");
}
return 0;