进制转换

来源:互联网 发布:c4d软件下载 编辑:程序博客网 时间:2024/04/28 02:51

输入一个十进制数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,m,i,j,a,s[10000];    while(scanf("%d%d",&n,&m)!=EOF)    {        int flag=0,k=0;        if(n==0)        printf("0");        if(n<0)        {            n=-n;            flag=1;        }        while(n)        {            a=n%m;            n=n/m;            s[k++]=a;        }        if(flag)        printf("-");        for(i=k-1;i>=0;i--)        {            if(s[i]==10)            printf("A");            else if(s[i]==11)            printf("B");            else if(s[i]==12)            printf("C");            else if(s[i]==13)            printf("D");            else if(s[i]==14)            printf("E");            else if(s[i]==15)            printf("F");            else            printf("%d",s[i]);        }        printf("\n");    }    return 0;}



0 0
原创粉丝点击