十进制数转化问题
#include<stdio.h>#include<malloc.h>
char *a;
int strlen(a);
char* conversion(int n,int d)
{
char *s1;
if(n>0)
{
if(n/d==0)
printf("%d",n%d);
else
{
s1=conversion(n/d,d);
printf("%d",n%d);
}
}
else if(n==0)
printf("%d",n);
else if(n<0)
{
n=-n;
s1=conversion(n/d,d);
printf("%d",~(n%d));
}
return s1;
}
void main()
{
int n,d;
printf("ÇëÊäÈënºÍdµÄÖµ£º");
printf("\n");
scanf("%d,%d",&n,&d);
conversion(n,d);
printf("\n");
}
当n<0时,输出结果不对,请大家帮着改一下
小弟菜鸟,在这多谢了