进制转换请教!
大家好! 近日小弟做关于C语言的题目,碰到了两个难题请高手们帮我想想,题目是:
1.将M进制转换成N进制 小于等于36位 0-9 A-Z
2.输入6个字符串,按照从大到小输出
程序代码:
#include <stdio.h>
int main()
{
unsigned m;
int n,k,e=50;
char D[37]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char s[51];
s[50]='\0';
while((scanf("%d%d",&n,&k))!=EOF)
{
if(n<0)
{
m=-(1+n)+1;
}
else
{
m=n;
}
do
{
s[--e] = D[m%k];
m/=k;
}
while(m);
if(n<0)
{
s[--e]='-';
}
printf("%s\n", s+e);
}
return 0;