2024全国高校计算机能力挑战赛模拟题

步骤:

#include<stdio.h>
void main()
{
    int a[10], b, n = 0, m, i = 0, x, j;
    printf("请输入要转换的数据和进制:\n");
    scanf("%d%d", &b, &m);
    while (b)
    {
        a[i++] = b % m;
        b = b / m;
        n++;
    }
    for (i = 0; i < n - 1; i++)
        for (j = i + 1; j < n; j++)
            if (a[i] > a[j])
            {
                x = a[i];
                a[i] = a[j];
                a[j] = x;
            }
    for (n; n > 0; n--)
        if (a[n-1] <= 9)
            printf("%d", a[n-1]);
        else if (a[n-1] <= 15)
            printf("%c", a[n-1] + 'A' - 10);

}

#include<stdio.h>
void main()
{
    int a[10], b, n = 0, m, i = 0, x, j;
    scanf("%d%d", &b, &m);
    while (b)
    {
        a[i++] = b % m;
        b = b / m;
        n++;
    }
    for (i = 0; i < n - 1; i++)
        for (j = i + 1; j < n; j++)
            if (a[i] > a[j])
            {
                x = a[i];
                a[i] = a[j];
                a[j] = x;
            }
    for (n; n > 0; n--)
        switch (a[n - 1])//这样比较简单但是不是多严谨
        {
        case 10:printf("A"); break;
        case 11:printf("B"); break;
        case 12:printf("C"); break;
        case 13:printf("D"); break;
        case 14:printf("F"); break;
        default:printf("%d", a[n - 1]); break;

        }
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐