注意最后把10进制的总数,运用while算法时候,考虑特殊情况 sum==0 这样直接输出’0’; 而不让其在while里面运行.
#include<iostream>
#include<math.h>
#include<algorithm>
#define ll long long
ll jinzhi=16;
using namespace std;
ll get10(){
string s;
cin>>s;
ll sum=0,p=1;
for(int i=s.length()-1;i>=0;i--){
if(s[i]>'9'){
sum+=p*(s[i]-'A'+10);
}else{
sum+=p*(s[i]-'0');
}
p*=jinzhi;
}
return sum;
}
int main(){
ll a=0;
a=get10();// 注意不可以直接运行get10() 方法 不要ll a; a=get10() 这样会在系统运行时出错. 需要找个自定义变量带其运行.
cout<<a;
return 0;
}