问题描述
程序提示⽤户输⼊三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的⼗六进制整数,并分别以⼗六进制,⼗进制,⼋进制输出。
输⼊格式:输⼊只有⼀⾏,即三个字符。
输出格式:输出只有⼀⾏,包括三个整数,中间⽤空格隔开。
输⼊输出样例
样例输⼊
FFF
样例输出
FFF 4095 7777
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
int n=0;
cin>>a;
for(int i=0;i<a.length();i++){
if(a[i]>='0'&&a[i]<='9') n=n*16+a[i]-'0';
else n=n*16+a[i]-'A'+10;
}
if(a[0]=='0')a=a.substr(1,a.length()-1);
if(a[0]=='0')a=a.substr(1,a.length()-1);
cout<<a<<" "<<n<<" ";
int z[40],num=0;
do{
z[num++]=n%8;
n=n/8;
}while(n!=0);
for(int j=num-1;j>=0;j--){
cout<<z[j];
}
return 0;
}