#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cin>>str;
string strBegin=str.substr(0,2);
int result=0;
if (strBegin=="0V"||strBegin=="0v") //九进制
{
bool strZero=true;
int validNum=8;
for (int i=2;i<str.size();i++)
{
if(str[i]<'0'||str[i]>'8') return -1;
if (str[i]=='0'&&strZero)
{
strZero=false;
continue;
}
else
{
if (validNum==0)
return -1;
validNum--;
result=result*9+str[i]-'0';
}
}
cout<<result<<endl;
system("pause");
return 0;
}
if (strBegin=="0W"||strBegin=="0w") //十一进制
{
bool strZero=true;
int validNum=8;
for (int i=2;i<str.size();i++)
{
if(str[i]<'0'||str[i]>'9'||str[i]!='a'||str[i]!='A') return -1;
if (str[i]=='0'&&strZero)
{
strZero=false;
continue;
}
else
{
if (validNum==0)
return -1;
validNum--;
if(str[i]>='0'&&str[i]<='9')
result=result*11+str[i]-'0';
if(str[i]=='a'||str[i]=='A')
result=result*11+10;
}
}
cout<<result<<endl;
system("pause");
return 0;
}
return -1;
}
华为机试 - 9进制和11进制转10进制
最新推荐文章于 2023-10-26 00:23:02 发布