ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3H - 进制转换

2019-02-08 22:40:15  阅读:360  来源: 互联网

标签:10 转换 进制 实例 int len 3H include


输入一个十进制数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

// still don't know why
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main()
 4 {
 5     int n, r;
 6     char s[1000];
 7     while(scanf("%d %d", &n, &r)!=EOF)
 8         puts(itoa(n, s, r));
 9     return 0;
10 }
WA
// 
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n, r, t, i, len, s[1000];
 5     while(scanf("%d %d", &n, &r)!=EOF)
 6     {
 7         if(n==0) printf("0\n");
 8         else
 9         {
10             len=0;
11             if(n<0) 
12             {
13                 printf("-");
14                 n=-n;
15             }
16             for(i=0;n!=0;i++)
17             {
18                 t=n%r;
19                 if(t>=10) s[i]='A'+t-10;
20                 else s[i]=t;
21                 len++;
22                 n=n/r;
23             }
24             for(i=0;i<len;i++)
25             {
26                 if(s[len-1-i]>=0&&s[len-1-i]<=9) printf("%d", s[len-1-i]);
27                 else printf("%c", s[len-1-i]);
28             }
29             printf("\n");
30         }
31     }
32     return 0;
33 }
AC

 

标签:10,转换,进制,实例,int,len,3H,include
来源: https://www.cnblogs.com/goldenretriever/p/10356880.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有