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



京公网安备 11010502036488号