永发信息网

这问题我想了很久, C++或者C语言都可以,希望有才之人,能在五天内,帮我完成,谢谢啦!!!

答案:4  悬赏:0  手机版
解决时间 2021-04-04 05:53
这问题我想了很久, C++或者C语言都可以,希望有才之人,能在五天内,帮我完成,谢谢啦!!!
最佳答案
#include
#include
typedef struct
{
float coef;//系数
int expn;//指数
}
ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}
LNode,*LinkList;
LinkList InitList()//创建链表
{
LinkList L;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
return(L);
}
void Creat(LinkList L,ElemType x)//创建多项式
{
LinkList s,p;
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
p=L;
while(p->next)
p=p->next;
s->next=NULL;
p->next=s;
}
void Insert(LinkList L,LNode p)//插入链表
{
LinkList q,pc;
pc=(LinkList)malloc(sizeof(LNode));
*pc=p;
q=L;
while(q->next)
q=q->next;
pc->next=q->next;
q->next=pc;
}
void AddPolyn(LinkList pa,LinkList pb,LinkList pc)//多项式求和
{
LinkList qa,qb;
LNode qc;
float sum;
int a,b;
qa=pa->next;
qb=pb->next;
while(qa&&qb)
{
a=qa->data.expn;
b=qb->data.expn;;
if(a {
Insert(pc,*qa);
qa=qa->next;
}
if(a==b)
{
sum=qa->data.coef+qb->data.coef;
if(sum!=0)
{
qc=*qa;
qc.data.coef=sum;
Insert(pc,qc);
qa=qa->next;
qb=qb->next;
}
else
{
qa=qa->next;
qb=qb->next;
}
}
if(a>b)
{
Insert(pc,*qb);
qb=qb->next;
}
while(qa)
{
Insert(pc,*qa);
qa=qa->next;
}
while(qb)
{
Insert(pc,*qb);
qb=qb->next;
}
}
}
void Plus(LinkList pa,LinkList pb,LinkList pc)//多项式的差
{
LinkList qb;
qb=pb->next;
while(qb)
{
qb->data.coef=-(qb->data.coef);
qb=qb->next;
}
AddPolyn(pa,pb,pc);
}

void Print(LinkList L)//输出多项式
{
LinkList p;
p=L->next;
while(p->next)
{
printf("%fx^%d+",p->data.coef,p->data.expn);
p=p->next;
}
printf("%fx^%d",p->data.coef,p->data.expn);
}
void main()//主函数
{
LinkList La,Lb,Lc,Ld;ElemType c;
int a,i;
La=InitList();
Lb=InitList();
Lc=InitList();
Ld=InitList();
printf("输入La的项数:");
scanf("%d",&a);
for(i=0;i {
printf("输入La第%d项系数和指数:",i+1);
scanf("%f%d",&c.coef,&c.expn);
Creat(La,c);
}
printf("输入Lb的项数:");
scanf("%d",&a);
for(i=0;i {
printf("输入Lb第%d项系数和指数:",i+1);
scanf("%f%d",&c.coef,&c.expn);
Creat(Lb,c);
}
printf("La为");
printf("\n");
Print(La);
printf("\n");
printf("Lb为");
printf("\n");
Print(Lb);
printf("\n");
printf("多项式和为");
printf("\n");
AddPolyn(La,Lb,Lc);
Print(Lc);
printf("\n");
printf("多项式差为");
printf("\n");
Plus(La,Lb,Ld);
Print(Ld);
}
以前编过一个,再输入多项式的时候,指数从小到大依次输入。
全部回答
ds
用不了500行吧
这个东东超不易做呀....跟你说哦,这个题目跟我的毕业论文题目相差无几.
.............
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
万用表测电阻操作不当会烧掉万用表吗
淘宝的商品关键词怎么弄了才能搜索到呢?
我昨天下午和朋友打了羽毛球用英语
某区为发展教育事业,加强了对教育经费的投入
华为荣耀8手机爱奇艺下载的视频在哪里看
什么是回归测试
董洁什么时候离婚的,张杰和谢娜什么时候结婚
Runningman有一期haha做评委他们穿着红色裙子
有人知道UGGNOCK吗?
根据下列各句句意和空白之后的汉语提示词,在
对自己的介绍一句话,用一句话或名言提醒自己
p36万虹学习机系统文件如何下载
众泰T600怎么样,小毛病多吗?
女宝宝阴部肉肉上面涨了白色的东西
我拔了6个萝卜,爸爸妈妈和我都扰了9个萝卜,
推荐资讯
下列化肥中属于复合肥料的是A.CO(NH2)2B.KC
意思是什么意思,偷撸别人的电话内容是不是违
上海住房公积金贷款50万能批复下来吗
技嘉主板870A-UD3,SATA3接口上三星830,128G固
恒温燃气热水器 点着火几秒后熄灭,连续开关4-
上日下木什么字,上边日下边克念什么
欠款强制执行时,房屋内的物品如何处置
尼布甲尼撒做梦,通过此梦神对以色列民说什么?
关于月光的古诗
事业单位用电与居民用电费用一样吗
为什么有些奥运项目在奥运开幕式前举行?
阅读《山市》,完成下面题目。山市 奂山山市
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?