电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

试验二栈的应用数制转换

试验二栈的应用数制转换_第1页
1/5
试验二栈的应用数制转换_第2页
2/5
试验二栈的应用数制转换_第3页
3/5
百度文库- 让每个人平等地提升自我11 实验二栈的应用 ( 数制转换 ) 一、 实验目的掌握栈的基本操作:初始化栈、判栈为空、出栈、入栈等运算。二、实验要求1. 认真阅读和掌握本实验的算法。2. 上机将本算法实现。3. 保存程序的运行结果,并结合程序进行分析。三、实验内容利用栈的基本操作实现将任意一个十进制整数转化为R进制整数算法为:1、定义栈的顺序存取结构2、分别定义栈的基本操作(初始化栈、判栈为空、出栈、入栈等)3、定义一个函数用来实现上面问题:(1) 十进制整数 X 和 R作为形参(2) 初始化栈(3) 只要 X 不为 0 重复做下列动作将 X % R入栈 , X=X/R (4) 只要栈不为空重复做下列动作栈顶出栈 , 输出栈顶元素四、实验报告要求:1、十进制整数转化为R进制整数算法的代码;2、程序运行结果及分析;3、实验总结。1. 实验源码:#include"" #include"" #include"" #define maxsize 100 typedef struct{ int data[maxsize]; 百度文库- 让每个人平等地提升自我22 int top; }seqstack,*pseqstack; pseqstack setstack() { pseqstack s; s=(pseqstack)malloc(sizeof(seqstack)); if(s) s->top=-1; return s; } int 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"); else 百度文库- 让每个人平等地提升自我33 { while(m!=0) { s->top++; s->data[s->top]=m%r; m=(m-(m%r))/r; } } return s; } int popout(pseqstack s) { if(empty(s)) return 0; else { printf("转化后的数是: "); while(s->top!=-1) { printf("%d",s->data[s->top]); s->top--; } 百度文库- 让每个人平等地提升自我44 putchar('\n'); return 1; } } void main() { int m,r; pseqstack p; p=(pseqstack)malloc(sizeof(seqstack)); printf("请输入一个十进制的正整数:"); scanf("%d",&m); printf("请输入你想转化的进制位:"); scanf("%d",&r); p=setstack(); p=pushin(p,m,r); popout(p); } 2. 程序截图:百度文库- 让每个人平等地提升自我55 3. 实验总结:

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

试验二栈的应用数制转换

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部