如何用单链表实现两个一元多项式的相加? c++作业 难啊难啊。。寻求高手解决

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:55:55
在数学上,一个一元多项式Pn(x) 可以表示为:

Pn(x)=a0+a1x+a2x2+…+anxn (最多有n+1项)

系数ai:{a0, a1,a2, ……,an}
指数i: {0,1,2,......, n} 按升幂排列
要求:1.程序代码清楚,注释详细, 代码必须调试通过;
2.有规范的文档(需求分析、功能模块说明、操作说明);

#include<iostream>
using namespace std;

struct Node{
int a;
Node *next;
};
void InitList(int n,Node *&head)
{
Node *node=NULL;

for(int s=0;s<n;s++)
{
cout<<"请输入第"<<s+1<<"个系数"<<endl;
Node *k=new Node;
cin>>k->a;
if(head==NULL)
{
node=k;
head=k;
}
else{
node->next=k;
node=k;
}
}

};
void count(int n,Node *head)
{
int result=head->a;
head=head->next;
for(int s=1;s<=n-1;s++)
{
result=result+s*s*head->a;
head=head->next;
}
cout<<"一元多项式的结果是:"<<result;
};

void main()
{
int n;
cout<<"请输入多项式个数"<<endl;
cin>>n;
Node *head=NULL;
InitList(n,head);
count(n,head);
}
这个程序很简