思路:数字1的ASCII码是49,字母A的ASCII码是65,转换为数字即可。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int power(int t){ int sum=1; while(t--){ sum=sum*16; } return sum; } int main(){ char s[1001]; int a[1001]; int ans,n,t; while(cin>>s){ ans=0; t=0; n=strlen(s); for(int i=n-1;i>1;i--){ if(s[i]>='0'&&s[i]<='9') a[i]=s[i]-48; else a[i]=s[i]-55; ans=ans+a[i]*power(t); t++; } cout<<ans<<endl; } return 0; }