C语言设计一个程序实现一元多项式相加
时间: 2023-05-29 21:01:55 浏览: 140
//C语言实现一元多项式相加
#include<stdio.h>
#define MAXN 10010//多项式项数最大值
int a[MAXN], b[MAXN];//a,b两个数组分别存放两个多项式的系数,下标为指数
int main() {
int n, m, x;//n,m分别为两个多项式的项数,x为当前项的指数
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d%d", &x, &a[x]);//存放多项式a的系数
}
scanf("%d", &m);
for(int i = 0; i < m; i++) {
scanf("%d%d", &x, &b[x]);//存放多项式b的系数
}
for(int i = 0; i < MAXN; i++) {//合并多项式
a[i] += b[i];
}
int cnt = 0;//统计项数
for(int i = MAXN - 1; i >= 0; i--) {
if(a[i] != 0)
cnt++;//如果系数不为0,项数加1
}
printf("%d", cnt);
for(int i = MAXN - 1; i >= 0; i--) {
if(a[i] != 0) {//如果系数不为0,输出该项
printf(" %d %.1lf", i, (double)a[i]);//注意保留一位小数
}
}
return 0;
}
阅读全文