进制转换

来源:互联网 发布:win10 ubuntu安装 2017 编辑:程序博客网 时间:2024/06/17 05:12

进制转换


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 i,b,s;    while(~scanf("%d%d",&i,&b))    {        if(i<0)  //判断正负        {            i=-i;            printf("-");        }        char a[1000];        int j=0;        while(i)        {            a[j]=(s=i%b)<10?(s+'0'):*("FEDCBA"+15-s);            j++;            i=i/b;        }        for(i=j-1;i>=0;i--)            printf("%c",a[i]);   //逆序输出        printf("\n");    }}
0 0
原创粉丝点击