烟大 1942 进制转换任意转换

    xiaoxiao2021-12-14  23

    1942: 进制转换

    Description  输入一个十进制数N,将它转换成R进制数输出。

    Input  输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

    Outputt  为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

    Sample Input  7 2  23 12  -4 3  Sample Outputt  111  1B  -11

    参考解答:

    #include<stdio.h> void binary(int n,int r); int main() { int N,R; while(scanf("%d %d",&N,&R)!=EOF) {     if(N==0)         printf("%d",0);     else if(N<0)       {        printf("-");     N=-N; } binary(N,R); printf("\n"); } return 0; } void binary(int n,int r) {     int m;     if(n==0)         return;     else     {         binary(n/r,r);         m=n%r;         if(m<10)             printf("%d",m);         else             printf("%c",'A'+m-10);     } }

    转载请注明原文地址: https://ju.6miu.com/read-971019.html

    最新回复(0)