实验二+++栈的应用(数制转换)_第1页
实验二+++栈的应用(数制转换)_第2页
实验二+++栈的应用(数制转换)_第3页
实验二+++栈的应用(数制转换)_第4页
实验二+++栈的应用(数制转换)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二 栈的应用(数制转换)一、 实验目的掌握栈的基本操作:初始化栈、判栈为空、出栈、入栈等运算。二、实验要求1 认真阅读和掌握本实验的算法。2 上机将本算法实现。 3 保存程序的运行结果,并结合程序进行分析。三、实验内容利用栈的基本操作实现将任意一个十进制整数转化为R进制整数算法为:1、定义栈的顺序存取结构2、分别定义栈的基本操作(初始化栈、判栈为空、出栈、入栈等)3、定义一个函数用来实现上面问题:(1)十进制整数X和R作为形参(2)初始化栈(3)只要X不为0重复做下列动作将X % R入栈, X=X/R(4)只要栈不为空重复做下列动作栈顶出栈 , 输出栈顶元素四、实验报告要求:1、十进制整数

2、转化为R进制整数算法的代码;2、程序运行结果及分析;3、实验总结。1. 实验源码:#include"stdio.h"#include"stdlib.h"#include"malloc.h"#define maxsize 100typedef structint datamaxsize;int top;seqstack,*pseqstack;pseqstack setstack()pseqstack s;s=(pseqstack)malloc(sizeof(seqstack);if(s)s->top=-1;return s;int

3、 empty(pseqstack s)if(s->top=-1)return 1;else return 0;pseqstack pushin(pseqstack s,int m,int r)if(s->top=maxsize-1)printf("此栈已满,无法入栈!n");elsewhile(m!=0)s->top+;s->datas->top=m%r;m=(m-(m%r)/r;return s;int popout(pseqstack s)if(empty(s)return 0;elseprintf("转化后的数是:");while(s->top!=-1)printf("%d",s->datas->top);s->top-;putchar('n');return 1;void main()int m,r;pseqstack p;p=(pseqstack)malloc(sizeof(seqstack);printf("请输入一个十进制的正整数:");scanf("%d",&m);printf("请输入你想转化的进制位:");scanf("%d",

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论