写一个程序能把0-255内的十进制数分别转换成二进制数,八进制数,十六进制数,并且能够按需重复转换。连续转换0~255中任意的几个数。
代码如下:
#include<bits/stdc++.h>
using namespace std;
void zhuan(int n,int d)
{
int a[100],l=0;
while(n!=0)
{
a[++l]=n%d; n=n/d;
}
for(int i=l; i>=1; i--)
{
if(a[i]<10)
{
cout<<a[i];
}
if(a[i]>=10)
{
cout<<char(a[i]+55);
}
}
cout<<endl;
}
int main()
{
int n,x;
cin>>n;
while(cin>>x)
{
switch(x)
{
case 2:
{
zhuan(n,2);
break;
}
case 8:
{
zhuan(n,8);
break;
}
case 10:
{
zhuan(n,10);
break;
}
case 16:
{
zhuan(n,16);
break;
}
default:continue;
}
}
}
运行结果:
希望对题主有帮助!