代码拉取完成,页面将自动刷新
#include<iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef struct SNode
{
int data;
struct SNode* next;
}SNode, * LinkStack;
Status InitStack(LinkStack& S)
{
S = NULL;
return OK;
}
bool StackEmpty(LinkStack S)
{
if (!S)
return true;
return false;
}
Status Push(LinkStack& S, int e)//进栈
{
LinkStack p;
p = new SNode;
if (!p)
{
return OVERFLOW;
}
p->data = e;
p->next = S;
S = p;
return OK;
}
Status Pop(LinkStack& S, int& e)
{
LinkStack p;
if (!S)
{
return ERROR;
}
e = S->data;//保存出栈数据
p = S;
S = S->next;//往下走一格
delete p;
return OK;
}
void conversion(int N)
{
int e;
LinkStack S;
InitStack(S);
while (N)
{
Push(S, N % 8);
N = N / 8;
}
while (!StackEmpty(S))
{
Pop(S, e);
cout <<e;
}
}
int main()
{
int n, e;
cout << "请输入您要转化的十进制数:";
cin>>n;
cout << "对应的八进制数为:";
conversion(n);
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。