当前位置:我的异常网» C语言 » c语言有关问题
c语言有关问题
www.myexceptions.net 网友分享于:2013-03-17 浏览:5次
c语言问题
多项式相加:
# include "stdlib.h "
# include "stdio.h "
struct list
{ int coef;
int exp;
struct list *next;
};
typedef struct list node;
void main()
{ node *ptr1,*ptr2;
node *creatlist(node *ptr1);
node *creatlist(node *ptr2);
node *order(ptr1);
node *order(ptr2);
node *addpoly(node *ptr1,node *ptr2);
ptr1=creatlist(ptr1);
ptr2=creatlist(ptr2);
ptr1=order(ptr1);
ptr2=order(ptr2);
view(ptr1);
view(ptr2);
ptr1=addpoly(ptr1,ptr2);
view(ptr1);
}
node *order(node *pre)
{ node *p=pre,*q,*l;
int j,i=0,n;
q=(node *)malloc(sizeof(node));
while(p-> next!=NULL)
{ i++;
p=p-> next;
}
for(j=0;j
{ p=pre-> next;
for(n=1;n <=i-j;n++)
{ l=p-> next;
if((p-> exp) exp))
{ q-> exp=p-> exp;q-> coef=p-> coef;
p-> exp=l-> exp;p-> coef=l-> coef;
l-> exp=q-> exp;l-> coef=q-> coef;
}
p=p-> next;
} free(q);
}
return(pre);
}
node *creatlist(node *ptr)
{ node *r,*s;
int num,i,n,m;
ptr=(node *)malloc(sizeof(node));
ptr-> next=NULL;
r=ptr;
printf( "please in put the length of the list you want to creat:\n ");
scanf( "%d ",&n);
printf( "please input %d pairs numbers==> \n ",n);
for(i=0;i
{ s=(node *)malloc(sizeof(node));
scanf( "%d%d ",&num,&m);
s-> coef=num;
s-> exp=m;
r-> next=s;
r=s;
}
r-> next=NULL;
return(ptr);
}
view(node *ptr)
{ node *p;
p=ptr-> next;
printf( "The poly is ==> \n ");
while(p!=NULL)
{
printf( "%dx^%d ",p-> coef,p-> exp);
p=p-> next;
}printf( "\n ");
}
node *addpoly(node *ptr1,node *ptr2)
{ node *p,*q,*r,*s,*pre;
p=ptr1-> next;
q=ptr2-> next;
pre=(node *)malloc(sizeof(node));
pre-> next=NULL;
r=pre;
文章评论