#include <iostream> using namespace std; typedef struct StackNode { int data; struct StackNode *next; } StackNode, *LinkStack; void Push(LinkStack &S, int n) { LinkStack p; p = new StackNode; p->data = n; p->next = S; S = p; } void Pop(LinkStack &S) { int e; e = S->data; LinkStack p; p = S; if (S->next) { S = S->next; delete p; } cout << e; } int main() { LinkStack S; S = NULL; int n, i, s, j; cout << "请输入数据个数" << endl; cin >> n; cout << "\t\t\t(按0退出)" << endl; cout << "______________________________________________________________" << endl; cout << endl; for (i = 1; i <= n; i++) { cout << "请输入第" << i << "个数" << endl; cin >> s; if (s == 0) break; j = 0; while (s > 0) { Push(S, s % 8); s = s / 8; j++; } while (j--) Pop(S); cout << endl; } }