欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    西电机电院自动化专业软件技术基础上机报告Word文档下载推荐.docx

    • 资源ID:22362275       资源大小:167.84KB        全文页数:42页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    西电机电院自动化专业软件技术基础上机报告Word文档下载推荐.docx

    1、首先定义局部结点变量p,并且使其指向要打印的链表的头结点,然后将p结点后移,每移动一次就打印当前p的值,直至p的后续结点为NULL。第二题:因为题目要求数字为1到10,故当数字小于1或者大于10时就停止输入。(2)打印结点过程:(3)逆置过程:首先定义两个结点p、q,p结点指向第一个结点,q结点始终指向p的后续结点然后将p的后续指向q的后续,并且将q的后续指向p,再将头结点指向q,因为p的位置不变,q依次后移,每次移动都将q插在head之后,故可以实现链表的逆置。第三题:(1) 使用尾插法建立带有头结点的单链表:当遇到回车符时结束字符的输入。(2) 打印结点过程:(3)对链表的分类整理:考虑到

    2、分类之后要返回给不同的三个链表,故使用全局变量,在函数调用时直接对全局变量进行操作。在查找过程中根据ASCII码的不同依次将他们连接在相应的链表之后。通过将头结点的地址传给PRINT函数就可以将相应的链表打印出来。第四题:当遇到price和number均为0时结束输入。(2)排序过程:首先定义两个中间结点p、q,p结点指向链表的第一个结点,q结点指向p的后续结点,将q结点的price与p结点的price进行比较,如果p-priceprice,则将两者进行交换,直至q指向链表的最后一个元素。然后将p后移,重复以上步骤执行。(3)插入过程:在执行插入过程中,要先进行查找操作,即将要插入的元素s的s

    3、-price与原来链表中的元素逐个进行比较,插入到第一个比s-price大的数据前。第五题:方法一:基本思想:将字符存入数组,然后对数组进行首尾两端的元素进行比较,若相等,则将前标号后移一位,同时后标号前移一位。方法二:采用堆栈的思想:先将数据存入链表,然后计算链表长度,将链表的前一半压入堆栈,若长度为则需先将链表当前指向后移一个,在将堆栈数据弹出,与链表后半部分数据进行比较;若长度为偶数,则直接将链堆、栈中数据弹出与链表中的后半部分进行比较。第六题:(1)树的建立:树的建立是借用队列先入先出的原则,队尾指向当前输入的结点,对头指向当前在这个结点的双亲结点,当尾结点是偶数时,当前结点作为左孩子

    4、与双亲结点链接,当尾结点为奇数时,当前结点作为右孩子与双亲结点进行链接,若当前结点为虚结点(即为)时,则无须链接。(2)结点的查找:只要当前的结点不是虚结点即为有效结点。(3)叶子结点的查找:只要当前结点没有左右孩子即可认为该结点是叶子结点。四、 调试分析在编写程序中使用的集成开发工具:Code:blocks 12.11使用的编译器:GNU GCC compile遇见的问题:(1)Mian函数返回类型在使用void时编译器提示返回类型不正确,在缺省时,main函数默认返回值类型为int,会出现warning信息。解决办法:使main函数的返回int类型,然后在最后加上“return 1”语句。

    5、(2)在有时括号的配对不正确,导致程序编译时不通过。养成好的编程习惯,规范的格式有助于查找错误。(3)在设计算法时经常忽略了特殊元素的处理:比如在第四题插入新的数据,查找插入位置时,当p指向第一个元素是要进行特殊处理。在第五题中当字符串的长度是奇数时,将前一半元素压入堆栈以后,要先将p后移一次,在逐个出栈进行比较。在设计算法之前,应该先将算法进行合理的推演,将所有的情况都要考虑进去,养成严谨的好习惯。改进之处:在第一题中,如果链表中的最小值有多个时,只能找到第一个,针对第一个进行处理。经验与体会:通过这几次上机,觉得将一个算法设计出来并不是难事,但是能否在计算机上正确运行是最关键的问题,有时编

    6、译时并不会报错,但是程序就是不能按照预期的结果运行,这时就需要进行调试,单步调试来观察能够判断算法正误的变量的值,然后对算法进行改进,最终使算法按照预期模式运行。觉得调试完一个程序之后对算法有了新的认识和更深刻的了解,收获远比编写出一个算法大得多。五、 测试结果 第一题:当最小值是偶数时:当最小值是奇数时:方法二:当输入为ABCDEFG# 时当输入为ABCDE#六、 带注释的源程序/*设有一个由正整数组成的无序单链表,编写完成下列功能的算法:*/#includestring.hmalloc.htypedef struct node /*结点声明*/int data;struct node *n

    7、ext;linklist;linklist *head,*p;/*使用尾插法建立单链表,并且以0作为结束符*/linklist *CREAT()int data1;linklist *head,*s,*r;head=(linklist*)malloc(sizeof(linklist);r=head;printf(Please input the numbers:n);scanf(%d,&data1);while(data1!=0)s=(linklist*)malloc(sizeof(linklist); s-data=data1; r-next=s; r=s; scanf(r-next=NUL

    8、L;return head;/*打印当前链表的所有结点数值*/void PRINT(linklist *head) /*打印单链表*/ linklist *p; int j=0; p=head-next; while(p!=NULL) j+; printf(nnumber %d=%d,j,p-data); p=p-/*找到当期单链表中的最小值,并且将该最小值打印出来*/linklist *SEARCH(linklist *head) linklist *p,*s; p=s=head- while(p-next! if(p-data)data) s=p; nthe minimum is:%dn,

    9、s- return s;/*删除当前结点*/void DELETE(linklist *head,linklist *p) /*删除结点p*/ linklist *q; q=head- while(q-=p) q=q- q-next=p-/*将当前结点和其后面的结点进行交换*/void EXCHANG(linklist *p) int x; x=p-data; p-data=(p-next)- (p-data=x;int main() linklist *head,*p,*q; head=CREAT(); /使用尾插法建立链。The Array is: /打印当前链表。 PRINT(head)

    10、; p=SEARCH(head); /查找最小值结点。 q=p- if(p-data%2=1) EXCHANG(p);/如果最小值为奇数,则将最小值结点与其后继结点交换 else DELETE(head,q); /如果最小值为偶数,则删除后继结点。nnnthe final numbers are: return 1;编一程序:stdlib.htypedef int datatype;typedef struct node datatype data; struct node *next; /定义结点结构体。 /对结点进行声明。/*使用尾插法建立带有头结点的链表。*/linklist *CREA

    11、TLSTER() int a; linklist *head,*s,*r; head=(linklist*)malloc(sizeof(linklist); r=head;Please input the numbers between 1 to 10:a); while(a=1)&(anext=head-; head-next=q; linklist *head; head=CREATLSTER(); /尾插法建立链表。n*nthe original numbers are : n n*n REVERSEL(head); /将链表逆置。nn*nthe numbers after revers

    12、el are : /打印逆置以后的链表。/*3设有一个含有数字、英文字母和其它字符的单链表,试编写一个算法将该单链表拆分为三个单链表,使每个单链表中只包含同一类的字符,要求利用原表中的结点空间作为这三个表的结点空间,头结点可以另辟空间。*/typedef char datatype;/定义结点结构体linklist *NUM,*CHAR,*STRING,*head; /定义全局变量,以便函数调用之后能够将调用结果返回linklist *CREATLSTER() /创建链表,将数据读入 datatype ch; linklist *head,*r,*s; head=(linklist *)mal

    13、loc(sizeof(linklist); ch=getchar(); while(ch!=n) s=(linklist *)malloc(sizeof(linklist);data=ch;/*删除头结点为head的链表中的结点p*/linklist *DELETE(linklist *p,linklist *head) linklist *q=head; return p;/*对链表数据进行查找分类*/void FIND(linklist *head) linklist *s_NUM=NUM,*s_CHAR=CHAR,*s_STRING=STRING; /定义局部变量,以便将结果传给全局变量

    14、 s_NUM- s_CHAR- s_STRING-data0)&(p-9) /将数字结点链接在s_NUM之后next=DELETE(p,head); s_NUM=s_NUM- else if(p-Az) /将字母结点链接在s_CHAR之后 s_CHAR=s_CHAR- s_STRING=s_STRING- /将其他字符结点链接在s_STRING之后/*打印当前链表*/void PRINT(linklist *head)nVALUE %d = %c /为head结点分配空间 NUM=(linklist *)malloc(sizeof(linklist); /为数字链表的头结点分配空间。 CHAR

    15、=(linklist *)malloc(sizeof(linklist); /为字母链表的头结点分配空间。 STRING=(linklist *)malloc(sizeof(linklist); /为其他字符链表的头结点分配空间。n*nPlease input characters: /尾插法建立链表n*nnn*nthe input are: /打印当前链表 FIND(head); /为当前链表整理分类nn*nthe numbers are: PRINT(NUM); /打印数字链表nn*nthe characters are: PRINT(CHAR); /打印字母链表nn*nthe others are: PRINT(STRING); /打印其他字符链表 return(1);某百货公司仓库中有一批电视机,试按价格从高到低的次序建立一个循环链表,每个结点有价格、数量和指针三个域。 int number; float price;/*用尾插法创建链表*/ int number1; float price1;Please Input the number And The Price:%d%fnumber1,&price1); while(number1!=0)&(price1!=0)number=number1;price=pr


    注意事项

    本文(西电机电院自动化专业软件技术基础上机报告Word文档下载推荐.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开