版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章使用说明与执行结果第4章使用说明与执行结果运行操作及结果:建立多项式Pa:建立多项式Pb:选择操作:1、Pa+Pb2、Pa-Pb沈阳航空航天大学课程设计报告参考文献参考文献[1]张长海.C语言程设计[M].北京:高等教育出版社,2006[2]阮宏一.数据结构(C/C++描述)[M].北京:中国水利水电出版社,2007[3]王敬华林萍张清国.C语言程设计教程[M].北京:清华大学出版社,2009[4]秦玉平马靖善.数据结构(C语言版)[M].北京:清华大学出版社,2005[5]谭浩强.C程序设计[M].北京:清华大学出版社,2010沈阳航空航天大学课程设计报告附录附录(程序清单)程序源代码:#include<iostream.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#include<stdio.h>typedefstructterm{ floatcoef; intexpn; structterm*next;}term,*LinkList;voidCreateList_L(LinkList&L,intm);charcmp(intqa_expn,intqb_expn);voidAddPolyn(LinkList&Pa,LinkList&Pb);voidPrintPolyn(LinkListp);voidCreateList_L(LinkList&L,intm){ inti; term*p; L=(term*)malloc(sizeof(term)); L->next=NULL; for(i=m;i>0;--i) {p=(term*)malloc(sizeof(term)); printf("系数="); scanf("%f",&p->coef); printf("指数="); scanf("%d",&p->expn); printf("第%d项为%fx^%d\n",m-i+1,p->coef,p->expn); p->next=L->next; L->next=p; }if(m) { printf("建立成功:\n");}elseprintf("ANULL");}voidPrintPolyn(LinkListp){term*q;intflag=0;q=p->next;if(p->next==NULL){printf("0\n");return;}while(flag==0){if(q->coef>0&&p->next!=q)printf("+");if(q->coef==1);elseif(q->coef==-1)printf("-");elseprintf("%f",q->coef);if(q->expn!=0&&q->expn!=1)printf("x^%d",q->expn);elseif(q->expn==1)printf("x");elseif((q->coef==1)||(q->coef==-1))printf("1");if(q->next==NULL)flag=1;elseq=q->next;}printf("\n");}voidAddPolyn(LinkList&Pa,LinkList&Pb){ term*qa,*qb,*pre,*u; floatsum; pre=Pa; qa=Pa->next; qb=Pb->next; while(qa&&qb) switch(cmp(qa->expn,qb->expn)) { case'<': pre=qa;qa=qa->next;break; case'=': sum=qa->coef+qb->coef; if(sum!=0.0) { qa->coef=sum;pre=qa; } else { pre->next=qa->next;free(qa); } qa=pre->next; u=qb; qb=qb->next; free(u);break; case'>': u=qb->next;qb->next=qa;pre->next=qb;pre=qb;qb=u;break; } if(!qa)pre->next=qb; free(Pb); return;}voidMinusPolyn(LinkList&Pa,LinkList&Pb){ term*qa,*qb,*pre,*u; floatminus; pre=Pa; qa=Pa->next; qb=Pb->next;while(qa&&qb) switch(cmp(qa->expn,qb->expn)) { case'<': pre=qa;qa=qa->next;break; case'=': minus=qa->coef-qb->coef; if(minus!=0.0) { qa->coef=minus;pre=qa; } else { pre->next=qa->next;free(qa); } qa=pre->next; u=qb; qb=qb->next; free(u);break; case'>': u=qb->next;qb->next=qa;pre->next=qb;pre=qb;qb=u;break; } if(!qa)pre->next=qb; free(Pb); return;}charcmp(intqa_expn,intqb_expn){ if(qa_expn==qb_expn)return'='; elseif(qa_expn>qb_expn)return'>'; elsereturn'<';}voidmain(){printf("**************************************************\n"); printf("**\n");printf("*-多项式计算器-*\n"); printf("**\n"); printf("*欢迎使用*\n"); printf("**\n"); printf("**************************************************\n"); printf("提示:本程序适用于对最简多项式的操作\n"); printf("\n"); term*Pa,*Pb,*p; intInitLNodeNum_Pa,InitLNodeNum_Pb,select,flag; flag=1; printf("请输入多项式Pa的项数\n"); scanf("%d",&InitLNodeNum_Pa); printf("从高次到低次输入多项式Pa各项\n"); CreateList_L(Pa,InitLNodeNum_Pa); PrintPolyn(Pa); printf("\n"); printf("请输入多项式Pb的项数\n"); scanf("%d",&InitLNodeNum_Pb); printf("从高次到低次输入多项式Pb各项\n"); CreateList_L(Pb,InitLNodeNum_Pb); PrintPolyn(Pb); printf("\n"); printf("==============================\n"); printf("请选择操作:\n"); printf("1、Pa+Pb\n"); printf("2、Pa-Pb\n"); printf("3、quit\n"); scanf("%d",&select); if(select==1) AddPolyn(Pa,Pb); if(select==2) MinusPolyn(Pa,Pb); if(select==3) exit(0); printf("结果为:\n"); p=Pa; PrintPolyn(p); printf("\n"); printf("OK...!\n"); getch();}沈阳航空航天大学课程设计报告
课程设计总结:经历了两周的C语言课程设计,我对C语言有了更深入的了解。刚拿到题目时以为是简单的具有比较功能的计算器,头脑中有了初步的构思,可当我提起笔写程序时,才发现并不是我想的那么简单。在图书馆查阅了一天的资料之后,发现多项式计算器与数据结构息息相关,便借了几本有关数据结构的参考书。经过研读书中的算法分析和图形演示,我对多项式计算器的编写也有了更深的理解。可当我把写好的程序输入电脑进行调试时,出来的错误又让我感到很是迷茫,之后当我把错误一点点找出来,纠正后,心中就有了一种难以言表的喜悦!这次C语言的课程设计,加深了我对课堂讲授内容的理解,要使用c语言这个工具解决实际问题,就必须理解它。通过自己编写程序,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。同时,也加强了我对程序开发环境以及计算机系统的操作方法的认知。一个c语言程序要想运行成功,从编辑、编译、连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年项目管理团队组建方案
- 公路养护技术课件 第8章 公路交通工程及沿线设施养护
- 体系工程师职业发展指南
- 书店职业发展路径规划
- 车间安全标兵评选讲解
- 医学博士就业前景
- 2026年生态环保产业政策支持方案
- 七年级上册代数式求值精讲|代入求值 整体思想
- 2.2 一元二次方程的解法(4)教学课件
- 《英语拒绝表达|refuse decline turn down》
- 2026年摩托驾照测试题及答案
- 二年级数学计算题专项练习1000题汇编
- 中西医结合治疗常见传染病课件
- 2026年新编党支部书记应知应会测试试卷(带答案)
- 供热管网管道焊接施工方案
- 医疗设备操作SOP(标准操作程序)模板
- 公寓电气施工方案(3篇)
- 安全生产许可证延期申请安全台账
- 融通资源循环产业(湖南)有限公司招聘笔试题库2026
- 2025年嘉峪关市公安辅警招聘知识考试题库及答案
- 国家开放大学电大本科《合同法》论述题题库及答案
评论
0/150
提交评论