#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;
    }
}