利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。
输入格式
第一行:输入一个非负的十进制整数
输出格式
第一行:与输入等值的八进制数
输入样例
15
输出样例
17
#include<stdio.h>
#define ERROR 0
#define OK 1
typedef struct
{
int *base;
int front;
int rear;
}SqQueue;
int InitQueue(SqQueue &Q)
{
Q.base = new int[10];
if(!Q.base)
return ERROR;
Q.front = 0;
Q.rear = 0;
return OK;
}
int EnQueue(SqQueue &Q,int e)
{
if((Q.rear+1)%10 == Q.front)
return OK;
Q.base[Q.rear] = e;
Q.rear = (Q.rear+1)%10;
return 0;
}
int DeQueue(SqQueue &Q, int &e)
{
if(Q.rear == Q.front)
return ERROR;
e = Q.base[Q.front];
Q.front = (Q.front+1)%10;
return OK;
}
int main()
{
SqQueue Q;
InitQueue(Q);
int e=0,n;
scanf("%d",&n);
EnQueue(Q,n);
DeQueue(Q,e);
printf("%o",e);//八进制输出
return 0;
}