📄 c.cpp
字号:
#include<stdio.h>
typedef struct listnode
{ int a;
int b;
struct listnode * next;
}*list;
//初始化
list initlist()
{
list L;
L= new listnode();
return L;
}
//撤消
int destory(list &L)
{
list p = L;
list q;
while(p!= NULL)
{
q=p->next;
delete(p);
p=q;
}
L=NULL;
p=NULL;
q=NULL;
return 1;
}
//输入
list inputlist(list L)
{
list p;
int x;
int y;
int i=1;
p= new listnode();
p=L;
while(i)
{
scanf("%d",&x);
scanf("%d",&y);
if(x==-1&&y==-1)
{ i=0;
}
else if(x==0)
{
continue;
}
else
{ list q;
q=new listnode();
q->a=x;
q->b=y;
p->next=q;
p=p->next;
}
}
// printf("\n");
return L;
}
//求和
list qiuhe(list L1,list L2 )
{
list p,q;
p=L1;
q=L2;
while(p->next!=NULL&&q->next!=NULL)
{
if(p->next->b>q->next->b)
p=p->next;
else if(p->next->b<q->next->b)
{
list r;
r=q->next;
q->next = r->next;
r->next=p->next;
p->next=r;
p=p->next;
}
else if(p->next->b==q->next->b)
{
p->next->a=p->next->a+q->next->a;
if(p->next->a==0)//删除系数为0的结点
{
list s;
s=p->next;
p->next=p->next->next;
delete (s);
q=q->next;
}
else if(p->next->a!=0)
{
p=p->next;
q=q->next;
}
}
}
if(p->next==NULL)
p->next=q->next;
if(q->next==NULL)
q->next=p->next;
//destory(L2);
return L1;
}
//求积
list qiuji(list L1,list L2)
{
list p,q,r,L3,L4;
L3=initlist();
L4=initlist();
r=L3;
p=L1;
q=L2;
while(p->next)
{
while(q->next)
{
r->next=new listnode();
r->next->a=p->next->a*q->next->a;
r->next->b=p->next->b+q->next->b;
q=q->next;
r=r->next;
}
q=L2;
r=L3;
L4=qiuhe(L4,L3);
p=p->next;
}
//destory(L1);
//destory(L2);
//destory(L3);
return L4;
}
//输出
void outputlist(list L)
{
list p;
p= new listnode();
p=L;
if(p->next==NULL)
printf("%d",0);
else
{
while(p->next)
{ printf("%d",p->next->a);
printf(" ");
printf("%d",p->next->b);
printf(" ");
p=p->next;
}
}
printf("\n");
return;
}
int main()
{ list initlist();
int destory(list &L);
list inputlist(list L);
list qiuhe(list L1,list L2);
list qiuji(list L1,list L2);
void outputlist(list L);
list L1=initlist(),L2=initlist(),L3=initlist();
L1=inputlist(L1);
L2=inputlist(L2);
L3=qiuji(L1,L2);
outputlist(L3);
getchar();
getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -