网站大量收购独家精品文档,联系QQ:2885784924

数据结构实验二A.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构与算法分析》 实验报告书 学  期:   2014 - 2015 学年第 2 学期 班 级: 信息管理与信息系统2班 学 号:   1310030217 姓 名: 田洪斌 实验类别: (★)基础型 ( )设计型 实验时间:  成 绩: 信息管理系 实验内容 根据教材所给类C语言算法,结合C语言特点,实现程序完成对于以整型数据为数据元素的线性单链表的定义、初始化、数据的显示等操作。 实验目的 1、掌握线性表的链式结构的静态及操作特点; 2、掌握线性表的链式结构的存储结构和常见操作在C语言环境中的实现方法; 需求分析 用线性表的链式结构表示来完成输入、编辑、调试、运行的全过程。并规定: 手动输入学生信息 按照整形输出 程序可以输入、调试、运行、显示 测试数据:学生学号、学生姓名、学生成绩 系统设计 1.数据结构设计 查找中分别有按学号查与按姓名查找 程序结构设计 (1)程序中主要函数功能: void struct student *creat()////////////////////学生信息档案的建立函数 void print(struct student *head)//////////////输出学生信息函数 void meun()/////////////////////////////////////////菜单函数 void main()///////////////////////////////////////////主函数 函数调用关系 见图4-1 图4-1 函数关系图 调试分析 算法和函数中出现了一些系统无法识别的变量,照成程序出现了错 误。原因是没有注意算法与源程序的区别。算法是简单的对源程序进行描述 的,是给人阅读的,所以有些变量没有定义我们就能看懂。而程序中的变量一定要先定义才能够被引用,才能被计算机识别。 在调试过程中遇到问题是利用C++程序进行调试的,找出错误并改正。 学会如何定义线性表的链式结构,如何调用函数。 学会线性表的链式结构的存储结构和常见操作在C语言环境中的实现方法。 测试结果 1.运行时输入正确密码进入主界面,系统根据输入的数字选项来调用相应的函数。主要实现“功能选择”的界面,在这个界面里有显示系统的五大功能,根据每个功能前面的序号进行选择。以下为该界面: 图4-2 主界面 2.当选择1录入完成输入时,运行结果如下图: 图4-3 学生信息的输入 3.当录入完成输入显示学生信息时,运行结果如下图: 图4-4学生信息的显示 经验和体会 本次试验利用C语言编程,完成了链表的建立、链表的输出、函数之间的调用,提升了我的C语言编程能力,同时也加深了我对数据结构中关于线性表结构有关基础概念、基本算法的理解,同时,通过程序的调试及观察分析程序运行的情况,也进一步增加了我调试程序的经验,并使我认识到了线性表的结构。 程序源代码 #includestdio.h #includemalloc.h #includestring.h #define LEN sizeof(struct student) struct student { char name[30]; long num; float score; struct student*next; }; int n=0; //链表的个数 ////////////////// struct student *creat() { void meun(); struct student *head; struct student *p1,*p2; n=0; printf(请录入学生信息\n); printf(提醒:\n先录入学号\n再录入姓名\n最后录入成绩\n); p1=p2=(struct student*)malloc(LEN); scanf(%ld,%s,%f,p1-num,p1-name,p1-score); head=NULL; while(p1-num!=0) { n=n+1; if(n==1) head=p1; else p2-next=p1; p2=p1; p1=(struct student*)malloc(LEN); printf(提醒:\n先录入学号\n再录入姓名\n最后录入成绩\n); scanf(%ld,%s,%f,p1-num,p1-name,p1-score);

文档评论(0)

精品报告 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档