编写一个程序,然后分别转换成为二进制数,八进制数和16进制数输出。谢谢了我才学到C++第二章,请用

编写一个程序,然后分别转换成为二进制数,八进制数和16进制数输出。谢谢了我才学到C++第二章,请用简单基本的语言,谢谢了

#include <iostream>
using namespace std;

int n,a[100];

int main()
{
cout<<"请输入一个十进制数:"; 
cin>>n;
int temp=n,num=0;
while (temp>0)
{
a[++num]=temp % 2;
temp=temp/2;
}
cout<<n<<"转化成二进制是:"<<endl;
for (int i=num;i>=1;i--)
cout<<a[num];
cout<<endl; 
cout<<"------------------"<<endl; 
temp=n,num=0;
while (temp>0)
{
a[++num]=temp % 8;
temp=temp/8;
}

cout<<n<<"转化成八进制是:"<<endl;
for (int i=num;i>=1;i--)
cout<<a[num];
cout<<endl; 
cout<<"------------------"<<endl; 

temp=n,num=0;
while (temp>0)
{
a[++num]=temp % 16;
temp=temp/16;
}
cout<<n<<"转化成16进制是:"<<endl;
for (int i=num;i>=1;i--)
{
if (a[i]>9)
{
char t=a[i]+55;
cout<<t; 
}else
cout<<a[i];
}
cout<<endl; 
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-29
#include<time.h>
#include<stdlib.h>
#include <stdio.h>

char H[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

int main()
{
int i,n;
int d,d0;
char HEX[256],OCT[256],BIN[256];

puts("请输入一个10进制数:");
scanf("%d",&d0);

//---------------------------------------
n=0; d=d0;
while(d>0){
BIN[n++]=d%2;
d/=2;
}
puts("转换为2进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[BIN[i-1]]);
}
printf("\n");

//---------------------------------------
n=0; d=d0;
while(d>0){
OCT[n++]=d%8;
d/=8;
}
puts("转换为8进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[OCT[i-1]]);
}
printf("\n");

//---------------------------------------
n=0; d=d0;
while(d>0){
HEX[n++]=d%16;
d/=16;
}
puts("转换为16进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[HEX[i-1]]);
}
printf("\n");

return 0;
}

运行结果:
请输入一个10进制数:
111111
转换为2进制数结果:
11011001000000111
转换为8进制数结果:
331007
转换为16进制数结果:
1B207本回答被网友采纳
相似回答