题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <iostream>
using namespace std;
int main()
{
string s;
int a=0;
int tmp=0;
while(getline(cin,s))
{
if(s.substr(0,2)!="0x")
{
return 0;
}
for(int i=2;i<s.size();i++)
{
if(s[i]>='A' && s[i]<='F')
{
a=a*16+(s[i]-'A'+10);
}
else if(s[i]>='a' && s[i]<='f')
{
a=a*16+(s[i]-'a'+10);
}
else if(s[i]>='0' && s[i]<='9')
{
a=a*16+(s[i]-'0');
}
}
cout<<a<<endl;
}
}
// 64 位输出请用 printf("%lld")
查看11道真题和解析