解题思路
十进制转八进制:
整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零
例:1348转八进制:
(1)
x: 1348
y=x%8=4
此时 4 入栈
栈中元素:
4
(2)
x:1348/8=168
y=x%8=0
此时 0 入栈
栈中元素:
0
4
(3)
x: 168/8=21
y=x%8=5
此时5入栈
栈中元素:
5
0
4
(4)
x: 21/8=2
y=x%8=2;
此时2入栈
栈中元素:
2
5
0
4
(5)
x:2/8=0
结束循环
代码
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
typedef struct SNode
{
int value;
struct SNode *next;
}*SNode;
typedef struct Stack
{
SNode top;
SNode bottom;
int len;
}*Stack;
void InitS