多项式乘法的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

辽宁工程技术大学

《C语言程序设计》

题目多项式乘法(加法减法)的实现_____

指导教师:刘辉

姓名:赵星林

学号:1426640140

班级:机单招14-1

专业:机械

多项式加法减法乘法的实现

一,内容

要求:已知如下两个多项式

P(x)=p m-1x 1

-m + p m-2x 2

-m +...+p 1x +p 0 Q(x)=q n-1x 1

-n +q n-2x 2

-n +...+q 1x +q 0

编程求他们的加减乘结果

本系统主要实现两个多项式的加减乘运算,利用数组的特点实现次数小于100的多项式的加减乘运算,主要思想是让数组的下表随多项式指数同事变化,读者只需输入多项式指数所对应的系数就可输出他所要得到的多项式了。

二,上机环境

操作系统:Windows 2007

开发工具:C 与C++程序设计学习与实验系统 2012

三,函数调用关系图

四,各函数功能说明

1,main()……………………………………………………主函数; 2,void input()………………………………………..输入函数; 3,void output()……………………………………..输出函数; 4,void menu(void)………………………………..菜单函数;

5,system(“cls ”)........................................................................................................清屏函数; 6,system(“pause ”)...................................................................................................暂停函数; 7,void muity(int a[],int m,int b[],int n,int c[])................多项式相乘函数;

main ()

Void Input (i nt y[], int x)

void menu(

void )

V oid Output (int a[], int x)

voidmui ty(int a[],int m,int b[],int n,int c[]) void add(int a[],int m,int b[],int n,int c[]) v oidsub(int a[],int m,int b[],int n,int c[])

system ("cls");

system ("paus e")

m>0 n<=0 n>0

调用input函数输出p(x)调用input函数输出Q(X)

调用output函数输出p(x)8,void add(int a[],int m,int b[],int n,int c[])..................多项式相加函数;

9,v oid sub(int a[],int m,int b[],int n,int c[])..................多项式相减函数。

五,算法描述或流程图

开始

输入m 输入n

m<=0

i==0 i==0

i<100 i<100

N Y Y N

i++ i++

提前退出

调用output函

数输出Q(x)

六,程序运行效果图输入第一组 3 输入t

t=1 t=2 t=3 t=0 t>3&

&t<0

多项式相加多项式相乘

输入

W= 1 W=

2

w>2&&

w<1

计算P(x)-Q(x) 计算Q(x)-p(x)

输出结果输出结

P(X)的系数: 3 1 3

第二组 3

Q(X)的系数: -2 -1 2 运行结果截图:

七,总结

第十八周是青岛理工大学计算机工程学院大一年级的课程设设计周,这是很多人人生当中的第一次课程设计,本以为自己所学到的东西对于课设很有信心,可是当我拿到题目是才知道我是多么的幼稚,对于课设要求中大多数题目都是很陌生的,不知道如何下手,我做的是一道数学程序题----多项式相乘,听起来很好听,但是做来实在不易啊,起初我怎么都不会想到能用数组做,于是我就用结构体和链表做,但是当做到多项式合并同类项是我就被卡住了,想不到怎么下手,我准备星期二去问问老师,第二天老师给我的回答让我很惊讶,她说你的题其实很简单,没必要用链表做,用数组完全就够了,我说用数组我实在想不起怎么去做,他就给我讲了一下原理,此时我还想着我昨天的功夫不就白费了吗,这又要重新开始了,怀着对数组的好奇我就开始做了起来,花了一天的时间终于做出来了,当时真的很高心,不过又看了看周围同学的课设,我就没那么高兴了,说实话他们的程序真的很难,注定这是一个让我们大一过得最有意义的一周了,其实大多说C程序的让我在这一周有复习了一遍,又增加了我对C的理解,同事伴随着对他的新欢有增加了些。

用数组编程多项式的乘法也有很多缺点;比如:多现实的指数不好控制,用数组还要占大量的内存,使得整个程序华而不实,我感觉还是用链表做比较好,指数和系数任由自己输入,所占的内存又可以随时释放,对计算机的内存要求不高,看来真的得加深对结构体和链表的理解,并且深入了解了。

这周课设从中获得了很多,加深了对数组的理解,同时对系统函数又有了更多的理解又见识了很多,也从同学程序中获得了很多新的知识。

期待下次课设!!!

八,参考文献

邱建华. C语言程序设计教程. 东软电子出版社

谭浩强.C程序设计(第三版).清华大学出版社,2005

相关文档
最新文档