十进制转换八进算法.docxVIP

  • 11
  • 0
  • 约3.86千字
  • 约 6页
  • 2019-03-17 发布于江苏
  • 举报
题目:数制转换问题 需求分析 将十进制数N转换成八进制数是计算机实现计算的基本问题,解决方案很多,其中最简单的方法是除8取余法。 本方案采用顺序栈的方式模拟整个过程。其原理如下: 例子:(1348)10=(2504)8 N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 从中可以看出,最先产生的余数4是转换加过的最低位,这正好符合栈的“后进先出”的特性。 功能:从键盘输入任意一个非负十进制整数,输出与其等值的八进制数;若输入一个负数,则显示输入错误,请重新输入。 测试数据:(1348)10=(2504)8 ,(0)10=(0)8,(-1234)10 输入数据错误。 概要设计 定义顺序栈类型,由键盘输入非负十进制整数N,执行以下循环操作:N%8入栈,N=N/8,直至N=0。 主要函数由建立空栈Initsqstack()、入栈Push()、出栈Pop()和main()函数组成。 过程中函数调用关系图如下: 详细设计 数据类型定义 struct Sqstack{ int *bottom; int *top; int maxsize; }; 系统主要子程序详细设计 A.建立空栈 int Initsqstack (Sqstack s

文档评论(0)

1亿VIP精品文档

相关文档