您的位置:首页 > 其它

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

2016-11-18 13:09 288 查看

代码一:

#include <stdio.h>

#include <stdlib.h>

void f(int n,int r);

int main()

{

    int n,r;

    while(scanf("%d %d", &n, &r)!=EOF)

    {

        f(n,r);

        printf("\n");

    }

    return 0;

}

void f(int n,int r)

{

    if(n==0)

        printf("0");

    else

    {

        f(n/r,r);

        printf("%d",n%r);

    }

}



代码二:

#include<stdio.h>

void binary(int, int);

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);

    }

}



代码一不能输出10进制以上进制的正确答案
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐