首页 > 代码库 > 进制转换
进制转换
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11
1 #include <stdio.h> 2 3 int main(){ 4 int number; 5 int system; 6 char s[50]; 7 int i; 8 int length; 9 int flag;10 11 while((scanf("%d%d",&number,&system))!=EOF){12 i=0;13 flag=0;14 15 if(number<0){16 number=-number;17 flag=1;18 }19 20 while(number){21 if(number%system<=9){22 s[i]=(number%system)+‘0‘;23 }24 25 else if(number%system==10)26 s[i]=‘A‘;27 28 else if(number%system==11)29 s[i]=‘B‘;30 31 else if(number%system==12)32 s[i]=‘C‘;33 34 else if(number%system==13)35 s[i]=‘D‘;36 37 else if(number%system==14)38 s[i]=‘E‘;39 40 else if(number%system==15)41 s[i]=‘F‘;42 43 number/=system;44 i++;45 }46 length=i;47 48 if(flag==1)49 printf("-");50 51 for(i=length-1;i>=0;i--)52 printf("%c",s[i]);53 54 printf("\n");55 56 57 58 }59 60 61 return 0;62 }
进制转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。