输入数字n和相应的进制,输出n对应的k进制数
#include <stdio.h>
#define MAX 100
int a[MAX];
int converse(int n,int k){
a[0]=n;
register int i=0,j;
while (n>=k) {
a[i]=n%k;i++;n=n/k;if (n<k)a[i]=n;
}
a[i+1]='\0';
if (k>10) {
for (j=i;j>=0;j--){
if (a[j]>9){
a[j]+=55;
//printf("%c ",a[j]+55);
} else{
a[j]+=48;
//printf("%c ",a[j]+48);
}
}
}else {
for (j=i;j>=0;j--){
a[j]+=48;
//printf("%c ",a[j]+48);
}
}
return i+1;
}
int main(){
int n,k,i; int star;
while (scanf("%d%d",&n,&k)!=EOF){
star=converse(n,k);
for (i=star-1;a[i]!='\0';i--)
{
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
网友评论