进制转换,讲十进制转换为任意进制;n是十进制数,r是转为的进制;r不超过16;
#include<stdio.h>
int main()
{
int n,r,i;
while(scanf("%d%d",&n,&r)!=EOF)
{
int a[100000];
i=-1;
if(n<0)
{printf("-");
n*=-1;}
while(n)
{a[++i]=n%r;
n/=r;}
for(i;i>=0;i--)
{if(a[i]>9)
printf("%c",a[i]-10+'A');//这点是比较重要的,要用A表示10,以此类推11、12……输出是用的c;
else
printf("%d",a[i]);}
putchar('\n');
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考