7-2 一元多项式的乘法与加法运算 (20分)

该博客介绍了如何设计函数来计算两个一元多项式的乘积和和。输入包括两个多项式的非零项及其系数和指数,输出为合并后的乘积和和的非零项。博客提到了在处理0o时的特殊规则,并提供了简化计算的思路。作者还分享了实现代码。
摘要由CSDN通过智能技术生成

7-2 一元多项式的乘法与加法运算 (20分)
设计函数分别求两个一元多项式的乘积与和。

输入格式:
输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。

输出格式:
输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。

输入样例:
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1

输出样例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0


分析:
1,用typedef存数,计算。加法时比较麻烦考验编程能力。
2,要合并多项式。
另:
我真的想好好吐槽下这道题,00不是约定得1吗,这里我想了好半天,没办法参考了别人的答案才知道这道题在计算0o时默认忽视它了,在完全没结果时只要输出0 0就好,我哭了。
忽视00直接使用数组计算会比较简单,多项式的系数是数组的序列数,数字的系数为那个数组系数下所存的值。

最后祝你一遍AC;


代码:

#include<stdio.h>

typedef struct {
   
	int x;
	int a;
} num;
void show(num c[],int t);//整理显示多项式 
 
int main() {
   
	num a[1001],b[1001],c[1001];
	int n,m,t,aa,bb;
	scanf("%d",&n);//输入数据 
	for(int i=0; i<n; i++) {
   
		scanf("%d",&aa);
		scanf("%d",&bb);
		if(a!=0&&b!=0) {
   
			a[i].a=aa;
			a[i].x=bb;
		}
	}
	scanf(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值