(C语言描述)栈的应用——数值转换(十进制转八进制)

解题思路

十进制转八进制:

整数部分,除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
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值