#include<stdio.h>
void trans(int n,int base)
{
int a[10],i=0,k;
if(base==2)
{
while (n != 0)
{
a[i]= n%2;
n/=2;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
}
if(base==8)
{
while (n != 0)
{
a[i]= n%8;
n/=8;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
}
if(base==16)
{
while (n != 0)
{
a[i]= n%16;
n/=16;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
{
if(a[i]>=0&&a[i]<=9)
printf("%d",a[i]);
}
}
}
int main()
{
int i,k;
while(1)
{
printf("请输入一个数字:");
scanf("%d", &i);
printf("需要转换成的进制数(2或者 8 或者16):");
scanf("%d",&k);
printf("转化为%d进制为:",k);
trans(i,k);
printf("\n");
}
return 0;
}
void trans(int n,int base)
{
int a[10],i=0,k;
if(base==2)
{
while (n != 0)
{
a[i]= n%2;
n/=2;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
}
if(base==8)
{
while (n != 0)
{
a[i]= n%8;
n/=8;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
}
if(base==16)
{
while (n != 0)
{
a[i]= n%16;
n/=16;
i++;
}
k=i;
for(i=k-1;i>=0;i--)
{
if(a[i]>=0&&a[i]<=9)
printf("%d",a[i]);
}
}
}
int main()
{
int i,k;
while(1)
{
printf("请输入一个数字:");
scanf("%d", &i);
printf("需要转换成的进制数(2或者 8 或者16):");
scanf("%d",&k);
printf("转化为%d进制为:",k);
trans(i,k);
printf("\n");
}
return 0;
}