使用顺序表,其中数组放系数,数组下标用指数表示……
以下是例子,至于数组的数值你自己改成用户输入
/**************************************************************************************
已知f(x)=8x^(6)+5x^(5)-10^(4)+32x^(2)-x+10;g(x)=7x^(5)+10x^(4)-20^x(3)-10^x(2)+x;
求f(x)+g(x);
*************************************************************************************/
#include <stdio.h>
#define MAXLEN 100
typedef struct
{
int data[MAXLEN];
int last;
}SeqList;
/**************************************************************************************
初始化顺序表
*************************************************************************************/
SeqList *CreateSeqList()
{
SeqList *lq;
lq=(SeqList*)malloc(sizeof(SeqList));
lq->last=-1;
return lq;
}
/**************************************************************************************
插入内容
*************************************************************************************/
int InsertList(SeqList *lq,int i,int x)
{
int j;
if(lq->last==MAXLEN-1)
{
printf("顺序表已满\n");
return(-1);
}
if(i<0||i>lq->last+2)
{
printf("位置错误\n");
return 0;
}
for(j=lq->last;j>=i-1;j--)
lq->data[j+1]=lq->data[j];
lq->data[i-1]=x;
lq->last++;
return(1);
}
/**************************************************************************************
打印顺序表
*************************************************************************************/
int PrintSeqList(SeqList *lq)
{
int i=0;
printf("f(x)+g(x)=");
while(lq->last>=0)
{
if(i==6)
{
printf("%dx(%d)",lq->data[i],i);
}
else if(lq->data[i]!=0)
{
printf("%dx(%d)+",lq->data[i],i);
}
i++;
lq->last--;
}
return(0);
}
/**************************************************************************************
主函数
*************************************************************************************/
int main(void)
{
int i=0,num3[7];
int num1[]={10,-1,32,0,-10,5,8};
int num2[]={0,1,-10,-20,10,7,0};
SeqList *lq1=CreateSeqList();
SeqList *lq2=CreateSeqList();
SeqList *lq3=CreateSeqList();
for(;i<7;i++)
{
InsertList(lq1,i+1,num1[i]);
InsertList(lq2,i+1,num2[i]);
num3[i]=num1[i]+num2[i];
InsertList(lq3,i+1,num3[i]);
}
PrintSeqList(lq3);
return 0;
}
温馨提示:答案为网友推荐,仅供参考