代码积累:10进制转任意进制

代码积累之——10进制转任意进制
输入
10 2
输出
1010
int print(int x) {
    if (x <= 9)
        printf("%d", x);   //小于十的数都按阿拉伯数字打印
    else
        printf("%c", x - 10 + 'A'); //大于十的数按照24个字母顺序打印(一个数字+上一个字符可以打印该字符往后多少位);
}
int change(int n, int x) {
    if (n) {
        change(n / x, x);   //递归实现除以权重
        print(n % x);       //倒序打印
    }
}
int main() {
    int n, x;
    scanf("%d %d", &n, &x);
    change(n, x);
    puts("");
}


全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务