如何用单链表实现两个一元多项式的相加? c++作业 难啊难啊。。寻求高手解决
在数学上,一个一元多项式Pn(x)可以表示为:Pn(x)=a0+a1x+a2x2+…+anxn(最多有n+1项)系数ai:{a0,a1,a2,……,an}指数i:{0,1...
在数学上,一个一元多项式Pn(x) 可以表示为:
Pn(x)=a0+a1x+a2x2+…+anxn (最多有n+1项)
系数ai:{a0, a1,a2, ……,an}
指数i: {0,1,2,......, n} 按升幂排列
要求:1.程序代码清楚,注释详细, 代码必须调试通过;
2.有规范的文档(需求分析、功能模块说明、操作说明); 展开
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);
}
这个程序很歼陪简单相信自己可以看懂应该不用注释吧,文档那些悉清自己随便写一写了
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);
}
这个程序很歼陪简单相信自己可以看懂应该不用注释吧,文档那些悉清自己随便写一写了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询