数据结构实验报告实验六框架A3版._数据结构图的实验报告
数据结构实验报告实验六框架A3版.由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据结构图的实验报告”。
合 肥 学 院 学 生 实 验 报 告 专业 计算机科学与技术 姓名 学号 实验日期 2010年 4月 13实验地点 成绩 实验题目 实验六 — 程序设计题 3 问题分析 本题用栈进行运算比较简单,因此需要定义判断栈是否为空,将数据入 栈,取栈顶元素,出栈元素。概要设计 int 型数据 堆栈型指针 int 型数据用来存储数据,堆栈型指针用来指向下一个结构体;然 后 设 计 建 栈 函 数 linkstack* set(, 同 时 还 要 有 数 据 入 栈 函 数 linkstack* push(linkstack *k,int a,出栈函数,判断栈是否为空函数 int empty(linkstack *k,取栈顶函数 int gettop(linkstack *k。
通过在主函数中调用对栈操作的这些函数,完成对数据进制的转换。测试数据:将 9分别转换成 2-9等不同进制输出。详细设计
linkstack* set(//建立空堆栈 { linkstack *l;//定义堆栈类指针 l=NULL;//将指针付为空值 返回栈 l;}
linkstack* push(linkstack *k,int a//向堆 栈中插入数据 { linkstack *l;//建立栈指针
l=(linkstack*malloc(sizeof(linkstack;/申请地址 l->data=a;向栈的数据域赋值 l 的指针域指向下一个结构体 k=l;返回堆栈 k;} int empty(linkstack *k//判断堆栈是否为空 { if(k==NULL//如果堆栈为空 return 1;//返回 1 else//否则 return 0;//返回 0 } int gettop(linkstack *k//取栈顶元素 { return k->data;//返回栈顶元素
} 详细设计 … … … …
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … void main(//主函数
{ linkstack *m;//定义堆栈指针 int a,b,c;//定义整型变量 m=set(;调用建栈函数建栈 printf(“t请 输 入 要 转 换 的 数 字 :nt”;scanf(“%d”,&a;输入要转换的数 printf(“t请输入要转换成多少进制(范 围 2-9:nt”;scanf(“%d”,&c;while(a如果 a 不为 0 { b=a%c;//求余
m=push(m,b;a=a/c;
} printf(“t该数的 %d进制表示为:”,c;while(!empty(m//如果不为空 { printf(“%d ”,gettop(m;//输出栈 顶元素
m=pop(m;//栈顶元素出栈 }
printf(“nt”;} 指导教师:日期:年 月 日 合 肥 学 院 学 生 实 验 报 告
函数的返回的类型与接收函数值的变量类型不对,不能正常编译。程序结果如下图所示:
该软件按为在 dos 下运行的软件,第一步提示用户输入要转换的数据;输入数据后,会提示输入要转换成多少进制的数;然后就会输出结果。
教师签字: 日期: 年 月 日
测试结果 调试分析 操作说明
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … …