#include <stdio.h> ///总体思路:使用一个一维数组、二维数组,二维数组以幂为行数,
int main(void) 将多项式的系数和幂储存同一行,用一维数组记录多项式中出现的幂,
int i,j,g=0,x,t,y,c=0,count=0; 然后将其排序。最后使用一维数组中排好序列的幂为为二维数组的下标,输出
int a[101][3]; 新的多项式。
int b[100]={0};
for(i=0;i<101;i++){
a[i][0]=i; //将(0,1,2....100)给二维数组的101行中的第一列进行赋值.
a[i][1]=0; ///将第二列赋值为0。
}
while(count<2){ ///以两个多项式的最后一行的幂一定为零,作为结束条件。
scanf("%d %d",&x,&y); ///出现一次“0”加一,出现两个零结束
a[x][1]=a[x][1]+y; ///输入多项式,按照幂选择二维数组的行,将系数在此行的第二列进行求和。
b[c]=x; ///将出现的幂存入一维数组中。
c++; ///一维数组下标加一。
if(x==0){ ///当幂为零时,计数加一。
count++;
}
}
for(i=0;i<=c-1;i++){ ///对一维数组进行排序。
for(j=i+1;j<=c-1;j++){
if(b[i]==b[j]){ ///当出现相同的幂,将后者赋值为0;
b[j]=0;
}
if(b[i]<b[j]){
t=b[j];
b[j]=b[i];<
多项式加法(5分)题目内容:一个多项式可以表达为x的各次幂与系数乘积的和,比如:2x6+3x5+12x3+6x+20现在,你的程序要读入两个多项式,然后输出这两个多项式的和
![](https://img-home.csdnimg.cn/images/20240711042549.png)