有关数据结构C++一个程序

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:11:04
程序可以通过编译.但运行后好象死循环了.我是初学者,看不出来啊.不知道怎么会事.程序要求: 将一个十进制数转换成另外一个P进制数字符串(可以是二进制到十六进制)。
#include <iostream>
#include <stack>

using namespace std;
stack<char> s;
void main( )
{

int num,p,k;

while(num)
{int k=num%p;
s.push(k);
num/=p;
}

cin>>num>>p;
while(!s.empty())
{int x=s.top();
if(x<10) cout<<x;
else{
switch(x)
{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;
}

}
s.pop();}
cout<<endl;

}

#include <iostream>
#include <stack>

using namespace std;
stack<char> s;
void main( )
{

int num,p,k;
cin>>num>>p;
while(num)
{int k=num%p;
s.push(k);
num/=p;
}

while(!s.empty())
{int x=s.top();
if(x<10) cout<<x;
else{
switch(x)
{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;
}

}
s.pop();}
cout<<endl;

}