//十进制转化为二进制,利用栈先进后出原理
#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;
}

1769

被折叠的 条评论
为什么被折叠?



