完成两个表达式相加得到一个新的表达式
就是f(x)=10x^3+12X^8-13X^11
f(x)=10X^4-12X^8+11X^11+14X^16这种形式的相加得到一个新的表达式
f(x)=10X^3+10X^4-2X^11+14X^16
这是我用静态链表写的,只有前两个函数输入,但是输入函数不对,大家给看看
#include<stdio.h>
#define MAXSIZE 100
typedef int mi;
typedef struct node
{
int coe; /*系数*/
mi pow; /*幂次*/
int link;
}number;
struct xishu
{
number ele[MAXSIZE];
int newptr;
};
struct xishu fun[3];
void Initfun() /*链表空间初始化*/
{
int i,j;
for(i=1;i<4;i++)
{
fun[i].ele[0].link=1;
fun[i].newptr=1;
}
for(j=1;j<4;j++)
{
for(i=1;i<MAXSIZE-1;i++)
{
fun[j].ele[i].link=i+1;
fun[j].ele[MAXSIZE-1].link=-1;
}
}
}
int Creat_fun(struct xishu m)
{
int j;
for(j=0;m.ele[j].coe!=0;j++)
{
printf("\n请输入该函中元素的系数(输入0时结束):");
scanf("%d",&m.ele[j].coe);
printf("\n请输入对应系数的幂次:");
scanf("%d",&m.ele[j].pow);
m.ele[j].link=j+1;
}
return (j+1);
}
void main()
{
int i;
int ia[3]; /*储存返回的长度*/
Initfun();
printf("jj");
for(i=1;i<3;i++)
{
ia[i]=Creat_fun(fun[i]);
}
}