- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
栈实现数制转换
甘肃政法学院
本科生实验报告
(二)
姓名:王云山
学院:计算机学院
专业:计算机科学与技术
班级:计算机科学与技术本科班
实验课程名称:多媒体技术
实验日期: 2012 年10 月4 日
指导教师及职称:陆军
实验成绩: 第六周
开课时间:2012-2013 学年 一学期
甘肃政法学院实验管理中心印制
实验题目 用栈实现数制之间的转换 小组合作 无 姓名 王云山 班级 计算机科学与技术本科班 学 号 201181110134 一、实验目的 更加了解栈的使用,栈的各项操作,熟悉C语言的编程。 二.实验环境 1.Visual C++6.0编程软件操作环境以及Windows操作环境。
2.实验室环境。 三、实验内容与步骤 创建一个工程名为wys的Win32 Console Application的工程。
通过对栈的各项操作实现十进制数转换为二进制数。 四、实验过程与分析 启动VisualC++6.0,在工程中常见一个名为wys存储地址为C:\wys\wys1的win32 console Appliocation的应用程序。其界面如图1.1
在窗口选择“hello World”类型。如图1.2
.
图1.1 图1.2
在操作面版输入如下代码。
/*利用栈实现数制转换*/
#include stdafx.h
/*利用栈实现数制转换*/
#include stdio.h
#include malloc.h
#define ERROR 0
#define OK 1
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef struct stack{
SElemType *top;
SElemType *bottom;
int stacksize;
}SqStack;
int InitStack(SqStack *S)
{
S-bottom=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S-bottom) return ERROR;
S-top=S-bottom;
S-stacksize=STACK_INIT_SIZE;
return OK;
}
int Push(SqStack *S,SElemType e)
{
if(S-top-S-bottom=S-stacksize-1){
S-bottom=(SElemType*)realloc(S-bottom,(S-stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!S-bottom) return ERROR;
S-top=S-bottom+S-stacksize;
}
*S-top++=e;
return OK;
}
int Pop(SqStack *S,SElemType *e)
{
if(S-top==S-bottom)
return ERROR;
*e=*--S-top;
return OK;
}
int StackEmpty(SqStack S)
{
if(S.top==S.bottom) return 1;
else return 0;
}
void main()
{
SqStack myStack;
int N,e;
InitStack(myStack);
printf(请输入N:);
scanf(%d,N);
while(N){
Push(myStack,N%8);
N=N/8;
}
while(!StackEmpty(myStack)){
Pop(myStack,e);
printf(%d,e);
}
printf(\n);
}进行编译运行操作其结果如下图1.3所示。
图1-3 五、实验总结 1.在编程的时候应该注意大小写,变量的定义。对于细节还是应该注意,往往一个小小的出错就可以造成程序运行不了的后果。
2.通过实验对于栈的基本使用方法有了了解。每种结构都有其优缺点,在以后的学习中我想应该总结各个结构的优缺点,合理的把它们用在编程。
3.更加了解栈的各项操作,熟悉C语言的编程。
文档评论(0)