求高手写C语言程序:十进制转为N进制

来源:百度知道 编辑:UC知道 时间:2024/05/13 11:46:01
算法:
十进制转为N进制,是将十进制整除N,并将所有得到的余数,从后住前写,得到的则是N进制数
把1234转为八进制:
1234 / 8 = 154
1234 % 8 = 2
154 / 8 = 19
154 % 8 = 2
19 / 8 = 2
19 % 8 = 3
2 / 8 = 0
2 % 8 = 2
所以把1234转为八进制结果为:2322

long d;
char r[100];
int n; //n进制 (最多35进制)
char ntable[36]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;

int tran(d,n)
long n,d;
{int i=0;
int tmp;
int l;
while(d!=0)
{tmp=d%n;
r[i]=ntable[tmp];
i++;
d/=n;
}
l=strlen(r);
for(i=0;i<l/2;i++)
{tmp=r[i];
r[i]=r[l-i-1];
r[l-i-1]=tmp;
}

}
int main()
{
scanf("%ld",&d);
scanf("%d",&n);
tran(d,n);
printf("%s",r);
getchar();
getchar();
}

#include<stdio.h>
main()
{
int num,i=0,n,*p;
printf("please input your number:\n");
scanf("%d",&num);
printf("\nplease input N:\n");
scanf("%