#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define InitStackSize 100 //初始化分配量
typedef struct SqStack
{
int *base;
int *top;
int size;
}SqStack;
//初始化
void InitStack(SqStack &S)
{
S.base = S.top =(int *)malloc(sizeof(int)*InitStackSize);
S.size = InitStackSize;
}
//进栈
void PushStack(SqStack &S,int e)
{
*S.top = e;
S.top++;
}
//转化
int ConversionStack(SqStack &S,int n)
{
while(n)
{
PushStack(S,n%8);
n=n/8;
}
}
void DisplayStack(SqStack S)
{
while( S.top != S.base )
{
S.top--;
printf("%d",*S.top);
}
printf("\n");
}
//主函数
int main()
{
SqStack stack;
int n;
printf("输入你想要转化的十进制数:\n");
while( scanf("%d",&n) != EOF)
{
InitStack(stack);
ConversionStack(stack,n);
printf("输出转化后的数:\n");
DisplayStack(stack);
printf("\n");
}
return 0;
}
桟的应用——十进制转化为八进制
最新推荐文章于 2022-10-23 17:55:49 发布