运行后发现,十六进制那里只输出了一个换行,但是我已经把余数存在b[j]中了,可以告诉我一下错在哪里,怎么改吗?
}
cout<<endl;
//十六进制
int p,q,j=0;
char b[1000];
do
{
p=n/16;
q=n%16;
if(q<10)
{
b[j]=q;
j++;
n=p;
}
else
{
b[j]='a'+p-10;
j++;
n=p;
}
}while(p>0);
j--;
for(;j>=0;j--)
{
cout<<j<<b[j]<<endl;
}
return 0;
}
n的值已经改变了。
不知道你这个问题是否已经解决, 如果还没有解决的话: