您的位置:首页 > 其它

利用栈进行进制转换

2013-08-08 16:19 281 查看
//十进制转化为二进制,利用栈先进后出原理
#include <cstdio>
#include <stack>
using namespace std;
int main()
{
int n;
stack<int>  s;
while (scanf("%d",&n)!=EOF)
{
while (!s.empty())   s.pop();//一个一个清空栈顶元素
//ClearStack(&s);        为什么这里不能用直接清空??用法错误???

while(n>0)
{
s.push(n%2);
n/=2;
}
while (!s.empty())
{
printf("%d",s.top());//一个一个输出栈顶元素,后进先出
s.pop();//一个一个清空栈顶元素
}
puts("");//利用getchat();吸收作用 ,puts输出作用
return 0;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: