进制转换
include<stdio.h>
#include<string.h>
int main()
{
int a,b,d,e,i,f,g,t;
char c,A[999];
while(~scanf("%d%d",&a,&b))
{
e=0;
g=a;
if(a<0)a=-a;
if(b<10)
{
c=‘0’;
for(i=1;i<=b;i++)
{
c++;
}
}
else
{
c=‘A’-1;
for(i=10;i<=b;i++)
{
c++;
}
}
/以上是根据几进制来判断当位上的字符为哪一个时需要向下一位进一/
memset(A,‘0’,sizeof(A));
for(i=1;i<=a;i++)
{
f=0;
A[f]++;
t=1;
while(t!=0)
{
t=0;
if(A[f]==‘9’+1)A[f]=‘A’;
if(A[f]==c)
{
A[f]=‘0’,A[f+1]++,f++,t=1;
if(e<f)e=f;
}
}
/以上内容是使最终值从零开始,每次加一,得到最终逆序字符串/
}
d=strlen(A);
if(g<0)printf("-");
for(i=e;i>=0;i–)
printf("%c",A[i]);
printf("\n");
}
return 0;
}