版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东聊城市高唐县市政路桥工程有限责任公司招聘笔试参考题库附带答案详解
- 2025年江苏南通市海安市企业招聘笔试参考题库含答案解析
- 2025年芜湖嘉辰物业有限公司招聘笔试参考题库含答案解析
- 2025年中国机械总院物业中心招聘笔试参考题库含答案解析
- 二零二五年度租车合同规范范本15篇
- 二零二五年度板材行业展会销售合作合同2篇
- 2024版管件购销合同范本
- 建筑服务员工作总结
- 二零二五年度演播厅广告位租赁合同2篇
- 二零二五年度绿色环保灯具推广安装合同模板2篇
- 2025湖北襄阳市12345政府热线话务员招聘5人高频重点提升(共500题)附带答案详解
- 血细胞分析报告规范化指南2020
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之7:“5领导作用-5.1领导作用和承诺”(雷泽佳编制-2025B0)
- 2024年快速消费品物流配送合同6篇
- 广东省茂名市2024届高三上学期第一次综合测试(一模)历史 含解析
- 神经重症气管切开患者气道功能康复与管理学习与临床应用
- 第5章 一元一次方程大单元整体设计 北师大版(2024)数学七年级上册教学课件
- 人教版高一地理必修一期末试卷
- 辽宁省锦州市(2024年-2025年小学六年级语文)部编版期末考试(上学期)试卷及答案
- 2024年下半年鄂州市城市发展投资控股集团限公司社会招聘【27人】易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 29498-2024木门窗通用技术要求
评论
0/150
提交评论