C语言二进制,八进制,十进制转化#include<stdio.h>
#include<math.h>
int convert10(int d,int n)
{
int sum=0;
int k,i;
for(k=n,i=0;k!=0;k/=10,i++)
{ sum+=(k%10)*pow(d,i);
}
return sum;
}
void convert(int d2,int n)
{
int a[100]={0};
int i;
for(i=0;n!=0;i++)
{ if(n==1) { a[i]=1; break; } else { a[i]=n%d2; n/=d2; }
}
for(i=99;a[i]==0;i--);
for(;i>=0;i--)
{ printf("%d",a[i]);
}
}
int main()
{
int d1,d2,n;
scanf("%d%d%d",&n,&d1,&d2);
int x = n;
if(d1==d2)
{ printf("%d",n);
}
else
{ if(d1!=10) { x = convert10(d1,n); } convert(d2,x);
} }