(10进制转换为其他进制):
#include<stdio.h>
int main()
{
int m,n;
char a[100];
while(~scanf("%d%d",&n,&m))
{
int i, t=1;
if(n<0)
{n=-n;t=0;}
for( i=0;n!=0;i++)
{
if(n%m<10) a[i]=n%m;
if(n%m==10) a[i]='A';
if(n%m==11) a[i]='B';
if(n%m==12) a[i]='C';
if(n%m==13) a[i]='D';
if(n%m==14) a[i]='E';
if(n%m==15) a[i]='F';
n=n/m;
}
if(t==0) printf("-");
for(int j=i-1;j>=0;j--)
{
if(a[j]>='A'&&a[j]<='F')
printf("%c",a[j]);
else
printf("%d",a[j]);
}
printf("\n");
}
return 0;
}
(其他进制转换为10进制):
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int x,m;
char a[100];
while(~scanf("%d %s",&m,&a)) //m为原进制,a为被转化数;
{
x=strtol(a,NULL,m);
printf("%d\n",x);
}
return 0;
}