首页 > 其他 > 详细

进制转换

时间:2014-10-28 13:37:10      阅读:254      评论:0      收藏:0      [点我收藏+]
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 }

 

 

 

 

进制转换

原文:http://www.cnblogs.com/zqxLonely/p/4056496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!