早教吧作业答案频道 -->其他-->
c/c++数据结构一元多项式的求和一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表.请编写程序对输入的两个一元多项式求和,并输出求和的结果.输入为两个一元多项式,每个
题目详情
c/c++数据结构一元多项式的求和
一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表.请编写程序对输入的两个一元多项式求和,并输出求和的结果.
输入为两个一元多项式,每个一元多项式输入一行,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束.系数和指数均为整数,指数不小于0.
输出为求和结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行.系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0.
样例输入
2 7 3 5 12 1 6 0 -1 -1
7 5 9 4 3 0 -1 -1
样例输出
2 7 10 5 9 4 12 1 9 0
一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表.请编写程序对输入的两个一元多项式求和,并输出求和的结果.
输入为两个一元多项式,每个一元多项式输入一行,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束.系数和指数均为整数,指数不小于0.
输出为求和结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行.系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0.
样例输入
2 7 3 5 12 1 6 0 -1 -1
7 5 9 4 3 0 -1 -1
样例输出
2 7 10 5 9 4 12 1 9 0
▼优质解答
答案和解析
#include
#define N 1000
int ap[N];
int ae[N];
int bp[N];
int be[N];
int main() {
int i = 0, j = 0;
int alen, blen;
while (scanf("%d%d", &ap[i], &ae[i]), ap[i] >= 0 && ae[i] >= 0) {
i++;
}
while (scanf("%d%d", &bp[j], &be[j]), bp[j] >= 0 && be[j] >= 0) {
j++;
}
alen = i, blen = j;
i = j = 0;
while (i < alen && j < blen) {
if (ae[i] > be[j]) {
printf("%d %d ", ap[i], ae[i]);
i++;
} else if (ae[i] < be[j]) {
printf("%d %d ", bp[j], be[j]);
j++;
} else {
printf("%d %d ", bp[j]+ap[i], be[j]);
i++; j++;
}
}
while (i < alen) {
printf("%d %d ", ap[i], ae[i]);
i++;
}
while (j < blen) {
printf("%d %d ", bp[j], be[j]);
j++;
}
return 0;
}
大体上代码就是这样了,可能还需要根据题目微调一下N的大小,还有对0系数的处理
#define N 1000
int ap[N];
int ae[N];
int bp[N];
int be[N];
int main() {
int i = 0, j = 0;
int alen, blen;
while (scanf("%d%d", &ap[i], &ae[i]), ap[i] >= 0 && ae[i] >= 0) {
i++;
}
while (scanf("%d%d", &bp[j], &be[j]), bp[j] >= 0 && be[j] >= 0) {
j++;
}
alen = i, blen = j;
i = j = 0;
while (i < alen && j < blen) {
if (ae[i] > be[j]) {
printf("%d %d ", ap[i], ae[i]);
i++;
} else if (ae[i] < be[j]) {
printf("%d %d ", bp[j], be[j]);
j++;
} else {
printf("%d %d ", bp[j]+ap[i], be[j]);
i++; j++;
}
}
while (i < alen) {
printf("%d %d ", ap[i], ae[i]);
i++;
}
while (j < blen) {
printf("%d %d ", bp[j], be[j]);
j++;
}
return 0;
}
大体上代码就是这样了,可能还需要根据题目微调一下N的大小,还有对0系数的处理
看了 c/c++数据结构一元多项式...的网友还看了以下:
在一种两位的编码方式中,规定第一位用阿拉伯数字0-9,第二位用小写26个英文字母.这种编码方式共可 2020-05-13 …
是初一的一元一次方程问题,要求列出算式和解算,1.x取何值时,代数式4x-5与3x-6的值互为相反 2020-05-16 …
工业机器人的编程方式有( ) A.自动控制方式 B.示教编程方式 C.语言编程方式 D.模拟方 2020-05-19 …
● MPEG-4 采用基于对象的视频编码方式,对每个 VOP 分别进行编/解码。一个 VOP是图像中 2020-05-26 …
MPEG-4采用基于对象的视频编码方式,对每个VOP分别进行编/解码。一个VOP是图像中一个(46) 2020-05-26 …
出口验单按顺序编号,( )换编一次,验单项目必须填写齐全、清楚,章戳清晰。A.每月B.每季C.每半年 2020-05-31 …
英语编写对话(很容易,一问一答式)英语编写对话(很容易,)要求:一问一答式,6个问题要有逻辑联系, 2020-07-10 …
编一批竹筐,计划a天完成,实际每天编25个,提前b天完成任务.(1)写出a一b所表示的意义.(2)用 2020-11-07 …
某企业的会计科目编码规则3一2一2一2一2,则其采用的科目编码方式是()。A.代码总长度、级数及每级 2020-11-21 …
手工小组计划编一些中国结送给友人,计划每小时编56个,10小时编玩,实际每小时比计划多编24个,时间 2020-12-01 …