[求助]一个进制转换的代码
我的由十进制转换成D(2<=D<=16)进制的代码怎么连运行都不行啊....大家帮我看看....
#include<stdio.h>
int main()
{
int n,m,i,j,flag,a[300];
while(scanf("%d%d",&n,&m)!=EOF)
{
i=0;
if(m<2||m>16)
break;
if(n>=0) flag=0;
else flag=1;
do{
a[i]=n%m;
n/=m;
i++;
}while(n);
if(flag==0)
{
for(j=i-1;j=0;j--)
{
if(a[j]<=9)
printf("%d",a[j]);
else
printf("%s",a[j]+55);
}
}
else
for(j=0;j<i;j++)
{
if(a[j]<=9)
printf("%d",a[j]);
else
printf("%s",a[j]+55);
}
printf("\n");
}
return 0;
}