//十進制轉化為二進制,利用棧先進後出原理 #include <cstdio> #include <stack> using namespace std; int main() { int n; stack<int> s; while (scanf("%d",&n)!=EOF) { while (!s.empty()) s.pop();//一個一個清空棧頂元素 //十進制轉化為二進制,利用棧先進後出原理 #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; } while(n>0) { s.push(n%2); n/=2; } while (!s.empty()) { printf("%d",s.top());//一個一個輸出棧頂元素,後進先出 s.pop();//一個一個清空棧頂元素 } puts("");//利用getchat();吸收作用 ,puts輸出作用 return 0; }