⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1131.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1131 on 2005-03-09 at 19:53:00 */ 
#include <stdio.h>

int main()
{
    char a[7], n[8];
    int baseOne, baseTwo, i, j;
    long N, baseTwoMax;
    
    while(1){
        N = 0;
        baseTwoMax = 1;
        for(j = 0; j < 8; j++){
            if(j < 7){
                n[j] = ' ';
                a[j] = 0;
            }else{
                n[7] = '\0';
            }
        }
        for(i = 0; i < 7;){
            a[i] = getchar() - '0';
            if(a[i] == (EOF - '0')){
                return 0;
            }else if(a[i] == (' ' - '0') && (i != 0)){
                break;
            }else if(a[i] != (' ' - '0')){
                for(j = 0; j < 6; j++){
                    if(a[i] >= 0 && a[i] < 10){
                        break;
                    }else if(a[i] + '0' - 'A' == j){
                        a[i] = 10 + j;
                        break;
                    }
                }
                i++;
            }
        }
        scanf("%d %d", &baseOne, &baseTwo);
        for(j = 0; j < 7; j++){
            if(j < i){
                N *= baseOne;
                N += a[j];
            }    
            baseTwoMax *= baseTwo;
        }
        if(N >= baseTwoMax){
            printf("  ERROR\n");
        }else{
            for(j = 0; N > 0; N /= baseTwo, j++){
                n[6-j] = N % baseTwo;
                switch(n[6-j]){
                    case 0: case 1: case 2: case 3: case 4:
                    case 5: case 6: case 7: case 8: case 9:
                        n[6-j] += '0';
                        break;
                    default:
                        n[6-j] += 'A' - 10;
                        break;
                }
            }
            printf(n);
            printf("\n");
        }
        while(getchar() != '\n')
            ;
    }

    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -