描述
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。
知识点 字符串,循环,函数,指针
运行时间限制 10M
内存限制 128
输入
输入一个十六进制的数值字符串。
输出
输出该数值的十进制字符串。
样例输入 0xA
样例输出 10
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
string s;
cin >> s;
int sum = 0, base = 1;
int len = s.size();
for (int i = len - 1; i>1; i--){
if (islower(s[i])) {
sum += (s[i] - 87)*base;
base = base * 16;
}
else if (isupper(s[i])){
sum += (s[i] - 55)*base;
base = base * 16;
}
else if (isdigit(s[i])){
sum += (s[i] - '0')*base;
base = base * 16;
}
}
cout << sum;
return 0;
}