题目描述:
输入8个10进制整数,依次输出每一个数的八进制和十六进制表示。
输入格式:
共有8行,每行包含一个整数。
输出格式:
对于每一行输入,输出一行,包含相应数的八进制和十六进制表示,用空格隔开。
样例输入:
10 32 75 -617 -111 2483 -28654 21003
样例输出:
12 a 40 20 113 4b -1151 -269 -157 -6f 4663 9b3 -67756 -6fee 51013 520b
时间限制: 1000ms
空间限制: 32MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
void ba(int n){
int s=0,x,a=1;
while(n){
x=n%8;
s=s+x*a;
a=a*10;
n=n/8;
}
cout<<s<<" ";
}
void liu(int n){
int s[101],a=0;
if(n<0){
cout<<"-";
}
n=abs(n);
while(n){
s[a]=n%16;
a++;
n=n/16;
}
for(int i=a-1;i>=0;i--){
if(s[i]>=10){
cout<<char(s[i]-10+'a');
}else{
cout<<s[i];
}
}cout<<endl;
}
int main(){
int n,s1=0,y,b=1;
for(int i=0;i<8;i++){
cin>>n;
ba(n);
liu(n);
}
return 0;
}