life is wonderful 2015-04-15 12:47 采纳率: 100%
浏览 1918
已采纳

数据结构栈实现进制转换遇到问题十进制数255 输出的十六进制数是F15F15 哪里错了

//进制转换函数
void conversion(int n,int r)
{
SqStack S;//构建一个栈
InitStack(S);
while(n)
{
Push(S,n%r);//数据入栈
n=n/r;
}
while(!StackEmpty(S))
{
SElemType e;
Pop(S,e);//数据出栈
switch(e)
{
case 0: break;
case 1: break;
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: break;
case 8: break;
case 9: break;
case 10: cout<<"A";
break;
case 11: cout<<"B";
break;
case 12: cout<<"C";
break;
case 13: cout<<"D";
break;
case 14: cout<<"E";
break;
case 15: cout<<"F";
break;
}
cout<<e;
}
cout<<endl;
}

  • 写回答

4条回答 默认 最新

  • threenewbee 2015-04-15 18:19
    关注

    你的程序没错,只是cout<<e;这里多输出了一个原始值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?