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

进位转换(杭电2031)

时间:2014-08-05 11:24:30      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:des   使用   io   数据   for   问题   ar   amp   

/*进制转换
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>
int main()
{
    int N,R;
    char a[35];
    char b[]="0123456789ABCDEF";
    while(~scanf("%d %d",&N,&R))
    {
        int t=0,i;
        if(N<0)
        {
            printf("-");
            N=N*(-1);
        }
       
        for(i=0;;i++)//反复求余,最后倒着将数组数据输出
        {
            a[i]=b[N%R];
            t++;
            N=N/R;
            if(N==0)
            break;
        }
       
        while(t--)
        {
            printf("%c",a[t]);
        }
        printf("\n");
    }
    while(1);
    return 0;
   
}
           

进位转换(杭电2031),布布扣,bubuko.com

进位转换(杭电2031)

标签:des   使用   io   数据   for   问题   ar   amp   

原文地址:http://blog.csdn.net/hdd871532887/article/details/38379787

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