请教一道C++题目思路与源码:输入K进制的正整数N,请把N化为L进制后输出。(N<1000000;L,K<=16) 有多组数据。 输入格式: K N L 输入样例: 8 10 2 10 10 16 输出样例: 1000 A
请问一下,这样做错在哪?
#include
int k,n,l,s,b[100],c,d;
char a[20]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main(){
while(scanf("%d%d%d",&k,&n,&l)){
c=s=0;
d=1;
while(n){
s=s+n%10*d;
n/=10;
d*=k;
}
while(s){
b[++c]=s%l;
s/=l;
}
for(int i=c;i>0;i--)printf("%c",a[b[i]]);
printf("\n");
}
}