码迷,mamicode.com
首页 > 其他好文 > 详细

进制转换

时间:2015-06-06 14:58:15      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 31114    Accepted Submission(s): 17310

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

 

#include<stdio.h>
void f(int a,int b)
{
 int k;
 if(a<0)
 {
  k=-a;
  printf("-");
 }
 else k=a;
  if(k/b)
 f(k/b,b);
 printf("%d",k%b);
}
void h(int a,int b)
{
 int c;
 if(a<0)
 {
  c=-a;
  printf("-");
 }
 else c=a;
 if(c/b)
 h(c/b,b);
 if(c%b==10)
 printf("A");
 else if(c%b==11)
 printf("B");
 else if(c%b==12)
  printf("C");
 else if(c%b==13)
 printf("D");
 else if(c%b==14)
 printf("E");
 else if(c%b==15)
 printf("F");
 else printf("%d",c%b); 
}
main()
{
 int a,b,n,i,j;
 while(scanf("%d%d",&a,&b)!=EOF)
   {
    if(b<=10)
 f(a,b);
 if(b>10)
 h(a,b);
 printf("\n");
   }
 return 0;
}

进制转换

标签:

原文地址:http://blog.csdn.net/l15738519366/article/details/46388177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!