int会溢出
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
char s[10];
gets(s);
long long sum = 0;
int i = strlen(s);
reverse(s, s + i);
for(int j = 0; j < i; j++)
{
switch(s[j])
{
case 'A':
sum += 10 * pow(16, j);
break;
case 'B':
sum += 11 * pow(16, j);
break;
case 'C':
sum += 12 * pow(16, j);
break;
case 'D':
sum += 13 * pow(16, j);
break;
case 'E':
sum += 14 * pow(16, j);
break;
case 'F':
sum += 15 * pow(16, j);
break;
default:
sum += (s[j] - '0' ) * pow(16, j);
}
}
cout << sum ;
return 0;
}