//进制转换,如果进制大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
#include <stdio.h>
#include <stdlib.h>
char dight[17]="0123456789ABCDEF";
char result[32];//结果
int top;
void trans(int number,int r)
{
int flag=1;
if(number<0){
flag=0;
number=-number;
}
top=0;
while(number){
result[top++]=dight[number%r];
number/=r;
}
if(!flag)
putchar('-');
top--;
for(int i=top;i>=0;i--)
printf("%c",result[i]);
putchar('\n');
return;
}
int main()
{
int N,R;
while(scanf("%d%d",&N,&R)!=EOF){
trans(N,R);
}
return 0;
}
进制转换 HDU2031
最新推荐文章于 2021-08-13 14:19:50 发布