哈哈哈笑死了,这道题目说要输出十进制字符串,但我觉得麻烦,于是偷懒用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; }