实验任务五

源代码

点击查看代码
#include <iostream>
#include <string>
#include <algorithm>

std::string dec2n(int x, int n = 2);

int main() {
    int x;
    while (std::cin >> x) {
        std::cout << "十进制: " << x << '\n'
                  << "二进制: " << dec2n(x) << '\n'
                  << "八进制: " << dec2n(x, 8) << '\n'
                  << "十二进制: " << dec2n(x, 12) << '\n'
                  << "十六进制: " << dec2n(x, 16) << '\n'
                  << "三十六进制: " << dec2n(x, 36) << "\n\n";
    }
    return 0;
}

std::string dec2n(int x, int n)
{
    // 题目限制 x>=0,n∈[2,36]
    if (x == 0)
        return "0";

    const char ch[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    std::string s;

    while (x > 0)
    {
        int r = x % n;
        s += ch[r];
        x /= n;
    }
    std::reverse(s.begin(), s.end());
    return s;
}

5

posted @ 2026-10-22 14:56  d111kkk  阅读(4)  评论(0)    收藏  举报