哈哈哈笑死了,这道题目说要输出十进制字符串,但我觉得麻烦,于是偷懒用int输出,没想到过了,结果看题解大家也都是和我一样,根本没有理会说输出要十进制字符串
#include <stdio.h>

int main(){
    char s[100];
    scanf("%s",s);
    int a = strlen(s);
    int b = strlen(s) - 3;
    int sum = 0;
    for(int i = 2;i<strlen(s);i++){
        if(s[i] >= '0' && s[i] <= '9'){
            sum += (s[i]-48)*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'A'){
            sum += 10*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'B'){
            sum += 11*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'C'){
            sum += 12*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'D'){
            sum += 13*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'E'){
            sum += 14*(int)pow(16,b);
            b--;
        }
        else if(s[i] == 'F'){
            sum += 15*(int)pow(16,b);
            b--;
        }
    }
    printf("%d",sum);
    return 0;
}