按最新顺序排序
  • Ethip
    Ethip 2008-06-22 08:29
    楼下那MM是我介绍的...!!!
  • jixuejava1
    jixuejava1 2008-06-02 12:49
    heihei 路过看看 你 呵呵
  • 双鱼淼
    双鱼淼 2008-05-07 13:42
    拜托,我知道你会做那道C语言题,虽然题很老了,但我还是不会,快帮我弄弄吧,两点就要交作业了。
  • hua_shao1988
    hua_shao1988 2008-04-24 20:57
    请问下VS2003;VC++06哪个用于做底成驱动好//
  • 2008-03-22 00:03
    #include<stdio.h> #include<stdlib.h> typedef struct Polynode { int coef; int exp; struct Polynode *next; } Polynode, *Polylist; Polylist polycreat(); void polyadd(Polylist polya,Polylist polyb); void get_derivative(Polylist polyc); void display(Polynode *h); void polymul(Polylist polya,Polylist polyb); void main() { Polynode *polya,*polyb,*polyc,*r; printf("putin coef and exp\n"); polya=polycreat(); r=polya->next; printf("q(x)="); display(r); printf("putin coef and exp\n"); polyb=polycreat(); r=polyb->next; printf("p(x)="); display(r); polyadd(polya,polyb); r=polya->next; printf("p(x)+q(x)="); display(r); printf("putin coef and exp\n"); polyc=polycreat(); r=polyc->next; printf("f(x)="); display(r); get_derivative(polyc); r=polyc->next; printf("f'(x)="); display(r); } Polylist polycreat() { Polynode *head,*rear,*s; int c,e; head=(Polynode *)malloc(sizeof(Polynode)); rear=head; scanf("%d%d",&c,&e); while(c!=0) { s=(Polynode *)malloc(sizeof(Polynode)); s->coef=c; s->exp=e; rear->next=s; rear=s; scanf("%d%d",&c,&e); } rear->next=NULL; return(head); } void polyadd(Polylist polya,Polylist polyb) { Polynode *p,*q,*tail,*temp; int sum; p=polya->next; q=polyb->next; tail=polya; while(p!=NULL && q!=NULL) { if(p->exp<q->exp) { tail->next=p; tail=p; p=p->next; } else if(p->exp==q->exp) { sum=p->coef+q->coef; if(sum) { p->coef=sum; tail->next=p; tail=p; p=p->next; temp=q;q=q->next;free(temp); } else { temp=p;p=p->next;free(temp); temp=q;q=q->next;free(temp); } } else {tail->next=q; tail=q; q=q->next; } } if(p!=NULL) tail->next=p; else tail->next=q; free(polyb); } void polymul(Polylist polya,Polylist polyb) { Polynode *r,*s,*p,*tail; int i,k=0; r=polya->next; s=polyb->next; while(r) { k++; r=r->next; } Polylist poly[6]; r=polya->next; for(i=0;i<k;i++) { poly[i]=(Polynode *)malloc(sizeof(Polynode)); tail=poly[i]; while(s) { p=(Polynode *)malloc(sizeof(Polynode)); p->coef=r->coef*s->coef; p->exp=r->exp+s->exp; tail->next=p; tail=p; s=s->next; } s=polyb->next; r=r->next; } for(i=1;i<k;i++) polyadd(poly[0],poly[i]); r=poly[0]->next; display(r); } void get_derivative(Polylist polyc) { Polynode *r,*temp; r=polyc->next; while(r) { if(r->exp==0) { temp=r; r=r->next; polyc->next=r; free(temp); } else { r->coef=r->exp*r->coef; r->exp=r->exp-1; r=r->next; } } } void display(Polynode *h) { Polynode *r=h; while(r->next!=NULL) { if(r->next->coef>0) printf("%dX∧%d+",r->coef,r->exp); else printf("%dX∧%d",r->coef,r->exp); r=r->next; } printf("%dX∧%d\n",r->coef,r->exp); } 发这里不晓得合适否
  • 2008-03-22 00:03
    #include<stdio.h> #include<stdlib.h> typedef struct Polynode { int coef; int exp; struct Polynode *next; } Polynode, *Polylist; Polylist polycreat(); void polyadd(Polylist polya,Polylist polyb); void get_derivative(Polylist polyc); void display(Polynode *h); void polymul(Polylist polya,Polylist polyb); void main() { Polynode *polya,*polyb,*polyc,*r; printf("putin coef and exp\n"); polya=polycreat(); r=polya->next; printf("q(x)="); display(r); printf("putin coef and exp\n"); polyb=polycreat(); r=polyb->next; printf("p(x)="); display(r); polyadd(polya,polyb); r=polya->next; printf("p(x)+q(x)="); display(r); printf("putin coef and exp\n"); polyc=polycreat(); r=polyc->next; printf("f(x)="); display(r); get_derivative(polyc); r=polyc->next; printf("f'(x)="); display(r); } Polylist polycreat() { Polynode *head,*rear,*s; int c,e; head=(Polynode *)malloc(sizeof(Polynode)); rear=head; scanf("%d%d",&c,&e); while(c!=0) { s=(Polynode *)malloc(sizeof(Polynode)); s->coef=c; s->exp=e; rear->next=s; rear=s; scanf("%d%d",&c,&e); } rear->next=NULL; return(head); } void polyadd(Polylist polya,Polylist polyb) { Polynode *p,*q,*tail,*temp; int sum; p=polya->next; q=polyb->next; tail=polya; while(p!=NULL && q!=NULL) { if(p->exp<q->exp) { tail->next=p; tail=p; p=p->next; } else if(p->exp==q->exp) { sum=p->coef+q->coef; if(sum) { p->coef=sum; tail->next=p; tail=p; p=p->next; temp=q;q=q->next;free(temp); } else { temp=p;p=p->next;free(temp); temp=q;q=q->next;free(temp); } } else {tail->next=q; tail=q; q=q->next; } } if(p!=NULL) tail->next=p; else tail->next=q; free(polyb); } void polymul(Polylist polya,Polylist polyb) { Polynode *r,*s,*p,*tail; int i,k=0; r=polya->next; s=polyb->next; while(r) { k++; r=r->next; } Polylist poly[6]; r=polya->next; for(i=0;i<k;i++) { poly[i]=(Polynode *)malloc(sizeof(Polynode)); tail=poly[i]; while(s) { p=(Polynode *)malloc(sizeof(Polynode)); p->coef=r->coef*s->coef; p->exp=r->exp+s->exp; tail->next=p; tail=p; s=s->next; } s=polyb->next; r=r->next; } for(i=1;i<k;i++) polyadd(poly[0],poly[i]); r=poly[0]->next; display(r); } void get_derivative(Polylist polyc) { Polynode *r,*temp; r=polyc->next; while(r) { if(r->exp==0) { temp=r; r=r->next; polyc->next=r; free(temp); } else { r->coef=r->exp*r->coef; r->exp=r->exp-1; r=r->next; } } } void display(Polynode *h) { Polynode *r=h; while(r->next!=NULL) { if(r->next->coef>0) printf("%dX∧%d+",r->coef,r->exp); else printf("%dX∧%d",r->coef,r->exp); r=r->next; } printf("%dX∧%d\n",r->coef,r->exp); } 发这里不晓得合适否
  • form521
    form521 2008-03-19 08:05
    谢谢你,我已经找到了.
  • Ethip
    Ethip 2008-03-17 12:31
    留个言,就闪,我!!
  • wu1011
    wu1011 2008-03-16 08:10
    能给我你 的 QQ 号 吗 ?

留言


TOP