关于杭电ACM2031 进制转换感觉找不出自己的错误,求指出

#include
int main()
{
long n,r;
char a[10000];
while(scanf("%d%d",&n,&r) == 2)
{
if(n == 0)
printf("0\n");
else
{
int i = 0;
if(n while(n > 0)
{
a[i++] = n%r;
n=n/r;
}
int j = i-1;
for(; j >= 0; j--)
{
if(a[j] > 10)
printf("%c",a[j]-10+'A');
else
printf("%d",a[j]);
}
putchar('\n');

    }
}
return 0;

}

2个回答

 long n,r;
 char a[10000];
 while(scanf("%ld%ld",&n,&r) == 2)//输入格式不对,或者把定义改为int,试试
kjdxACer
kjdxACer 谢谢你的建议,但是我还是无法通过
大约 4 年之前 回复
 点击发表框工具栏上面的代码片图标,把代码放到代码片里,否则粘贴过来,容易出现错误,格式也很乱。
象这句话这样的格式就对了。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问