永发信息网

多项式计算 C语言编程

答案:2  悬赏:0  手机版
解决时间 2021-02-21 08:01
题目二 多项式计算
1. 设计要求:
具备一元多项式加、减、乘的运算功能。(多项式系数的输入和输出均按次数从高到低排列形式安排系数。最右面的为零次项系数,从右向左依次增加。)
例如:多项式加法
输入: 2 -5 0 7 (表示多项式 2x3-5x2+7)
3 1 -8 (表示多项式 3x2+x-8)
输出 2 -2 1 -1
(2x3-5x2+7)+( 3x2+x-8)= 2x3-2x2+x-1
输入的数据项数是不定长的,最多不超过10项,用菜单让用户选择运算类别。
菜单格式如下:
多项式计算
1. 多项式加法
2. 多项式减法
3. 多项式乘法
0. 退出
2. 提高水平
增加一元多项式相除的运算功能。其中”除”运算结果用商式和余式表示,即f(x)和g(x) 相除,存在商式q(x)和余式r(x) 使 f(x)= g(x) * q(x) + r(x)。

3. 提示:
每个多项式的系数分别用一维数组存放,这样可以简化算法。每种运算用函数实现。
跪求高手指导- -
最佳答案
这个其实很简单,需要3个数组(暂时考虑int数组),长度都是10,分别保存多项式1、2和计算结果。初始化为全0。输入就按照你的假设吧。输入后三个数组分别为:
多项式1:[7, 0, -5, 2, 0, 0, 0, 0, 0, 0](x的0次幂系数是7,x的1次幂系数是2,以此类推,下同)
多项式2:[-8, 1, 3, 0, 0, 0, 0, 0, 0, 0]
计算结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0](还没算呢,当然都是0)

加法减法很好算,不赘述。乘法怎么算呢,你按照真实的数学计算步骤推一遍就知道了,你会把3x2、x、-8分别乘以2x3-5x2+7,最后把结果加起来。转换到程序中,就是把若干个数组加起来:
[-56, 0, 40, -16, 0, 0, 0, 0, 0, 0]
[0, 7, 0, -5, 2, 0, 0, 0, 0, 0]
[0, 0, 21, 0, -15, 6, 0, 0, 0, 0]

加起来就可以了。

至于提高水平,这个题目出得不好,因为多项式相除结果不唯一。比如说2x2 + 1除以x2 + 1,你可以说2x2 + 1 = 2(x2 + 1) - 1,也可以说2x2 + 1 = 1(x2 + 1) + x2。这样的题目数学上就意义不大,用程序去实现也达不到锻炼水平的作用。也许我理解有误?
全部回答
#include #include typedef struct polynode { int conf; int exp; struct polynode *next; }polynode; int main() { polynode *p,*q,*h; int conf,exp; h=(polynode*)malloc(sizeof(polynode)); q=h; scanf("%d %d",&conf,&exp); while(conf!=-1||exp!=-1) { p=(polynode*)malloc(sizeof(polynode)); p->conf=conf; p->exp=exp; q->next=p; q=p; scanf("%d %d",&conf,&exp); } q->next=null; \\你是这里写错了,写成null了 q=h; while(q->next!=null) { q=q->next; if(q->exp>=1) { q->conf=(q->conf)*(q->exp); q->exp-=1; } else if(q->exp==0) { q=null; } else { printf("error"); break; } } q=h; while(q->next!=null) { q=q->next; printf("%d %d",q->conf,q->exp); } return 0; } 改成这样就能运行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
G20峰会期间杭州湾跨海大桥货车可以通行吗
家里养些什么植物
用营养状况指数法预测富营养化时,当TSI为35
见古人立名节者,未尝不慨然揜卷终日。翻译
永青兴隆面馆地址在什么地方,想过去办事
WOW符文真银棒在哪里买
将长势一致、健壮的黄瓜幼苗随机均分为甲、乙
户外5V变压器 能承受最低工作温度是多少?冬
爱心作文学校这个地址在什么地方,我要处理点
孩子1米3穿多大尺寸校服?
花溪站我想知道这个在什么地方
怎样用打印机过页码
花儿乐队是唱《启程》的原唱歌曲。对吗?那是
【孟德斯鸠的法律思想】孟德斯鸠的政治法律著
川鲁特色菜馆在哪里啊,我有事要去这个地方
推荐资讯
女生把她腿放我大腿上,是不是对我有意思
消防公司招聘施工队
科鲁兹3挡起步.离合片烧了
【lovers】lover的复数是lovers?还是lovers是
文中偶现“莼鲫之思”,请问“莼鲫之思”是什
九江市先拓科技有限公司地址在哪,我要去那里
电脑免费取名
我想写小说,当作者,需要下载什么软件,谢谢
蛋白质是多聚体 为什么二肽不是多聚体?多聚
幼儿园小朋友暑假住院了,请问幼儿儿能报销医
龙洲烤鱼王国这个地址在什么地方,我要处理点
【军训小诗】军训小诗作文
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?