C语言写多项式相加怎么写?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 10:04:59
C语言写多项式相加怎么写?
xWIoF1EQVZzC +K jɱ%ٱԊ$ըMlMZpH俐 )n\y}f8''Ʊ]σ}pT>ݲ2%׿cURzGPX/VO['όZF'hF~3MG# ek=|l͘WJ~]'V ]+izjvA饵 '`w܀b ǿW5+e4'q@73k1i{gk\)_txu>5'muf E`tJF .A֦}j7vzBl.ŋ&'9uWO D&*$qu.$Fi̧4Zt5hz[ߡ"J tꁦXJՆ̀*(e,~V,:bV>xXFTT#!*AT$\VjL",I~ŐL,YlZPﰝB`^xUOK*OCd)PNZh-2@X V#Ԯw1 ґAٍS ã;'pO6vq|\K!68E⌫M4B!ñ!ufȏ+S7)քI/NN/>>`AnA&Oꇣ5PcP%: A(=YTu{FP1DOȊ80nMH@Q^# ,J9㠄C?0nÒ S_zf (4Y$)N?-1 qOpDht8(LX34⨋{9XsPx7=ӝ].Oocus}V_;H3o{'<0Po&|E),h/zVg,lCg:T".xg݉(l8Zr AaBw6aᆁ9˰!,m02dq`R˜`YJ%;~F#E]RWX8hVB1Eahj{Sp c4ؽYe:؄45'ʤZ

C语言写多项式相加怎么写?
C语言写多项式相加怎么写?

C语言写多项式相加怎么写?
分都不给.算了,以前写了个就给你吧./*此程序结构比较清晰,用单链表实现了多项式的加法.具体原理可以参考清华大学严蔚敏数据《结构C语言版》第二章注意:此程序假设输入的多项式已经排好序(从低到高)程序在VC6下编译通过*/#includenbsp;amp;lt;stdio.hamp;gt;#includenbsp;amp;lt;stdlib.hamp;gt;#includenbsp;amp;lt;malloc.hamp;gt;#includenbsp;amp;lt;conio.hamp;gt;nbsp;/*getchnbsp;function*/typedefnbsp;structnbsp;NODEnbsp;{nbsp;floatnbsp;nbsp;coef;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//系数为实数nbsp;intnbsp;nbsp;nbsp;nbsp;expn;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//指数为整数nbsp;structnbsp;NODEnbsp;*next;nbsp;nbsp;}NODE;NODEnbsp;*Creat(intnbsp;n);voidnbsp;print(NODEnbsp;*head);NODEnbsp;*AddPolyn(NODEnbsp;*head1,nbsp;NODEnbsp;*head2);NODEnbsp;*Delfirst(NODEnbsp;*head,nbsp;NODEnbsp;*q);voidnbsp;InsertBefore(NODEnbsp;*p1,nbsp;NODEnbsp;*p2);intnbsp;nbsp;compare(intnbsp;a,nbsp;intnbsp;b);main(){nbsp;NODEnbsp;*head1,nbsp;*head2,nbsp;*head3;nbsp;intnbsp;n1,nbsp;n2;nbsp;printf(“
请输入第一个多项式的项数nbsp;n1:“);nbsp;scanf(“%d“,nbsp;amp;n1);nbsp;head1nbsp;=nbsp;Creat(n1);nbsp;printf(“
第一个多项式为:
“);nbsp;print(head1);nbsp;nbsp;nbsp;nbsp;nbsp;printf(“
请输入第二个多项式的项数nbsp;n2:“);nbsp;scanf(“%d“,nbsp;amp;n2);nbsp;head2nbsp;=nbsp;Creat(n2);nbsp;printf(“
第二个多项式为:
“);nbsp;print(head2);nbsp;head3nbsp;=nbsp;AddPolyn(head1,nbsp;head2);nbsp;printf(“
相加结果为:
“);nbsp;getch();}/*创建链表*/NODEnbsp;*Creat(intnbsp;n){nbsp;NODEnbsp;*current,nbsp;*previous,nbsp;*head;nbsp;intnbsp;i;nbsp;headnbsp;=nbsp;(NODEnbsp;*)malloc(sizeof(NODE));nbsp;/*创建头结点*/nbsp;previousnbsp;=nbsp;head;nbsp;nbsp;for(inbsp;=nbsp;0;nbsp;inbsp;amp;lt;nbsp;n;nbsp;i++)nbsp;{nbsp;nbsp;currentnbsp;=nbsp;(NODEnbsp;*)malloc(sizeof(NODE));nbsp;nbsp;nbsp;nbsp;printf(“请输入项数%d的系数和指数nbsp;:nbsp;“,i+1);nbsp;nbsp;scanf(“%f%d“,nbsp;amp;current-amp;gt;coef,nbsp;amp;current-amp;gt;expn);nbsp;nbsp;previous-amp;gt;nextnbsp;=nbsp;current;nbsp;nbsp;previousnbsp;=nbsp;current;nbsp;nbsp;}nbsp;previous-amp;gt;nextnbsp;=nbsp;NULL;nbsp;returnnbsp;head;}/*nbsp;一元多项式的加法nbsp;,总体考虑,可分qa的指数比qb小i组成一部分*/NODEnbsp;nbsp;*AddPolyn(NODEnbsp;*head1,nbsp;NODEnbsp;*head2){nbsp;NODEnbsp;*ha,nbsp;*hb,nbsp;*qa,nbsp;*qb;nbsp;intnbsp;a,nbsp;b;nbsp;floatnbsp;sum;nbsp;hanbsp;=nbsp;head1;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*ha和hb指向头结点*/nbsp;hbnbsp;=nbsp;head2;nbsp;qanbsp;=nbsp;ha-amp;gt;next;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*qa和qb指向头结点的下一个结点*/nbsp;qbnbsp;=nbsp;hb-amp;gt;next;nbsp;while(qanbsp;amp;amp;nbsp;qb)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*qa和qb均非空*/nbsp;{nbsp;nbsp;anbsp;=nbsp;qa-amp;gt;expn;nbsp;nbsp;nbsp;bnbsp;=nbsp;qb-amp;gt;expn;nbsp;nbsp;switch(compare(a,nbsp;b))nbsp;{nbsp;nbsp;casenbsp;-1nbsp;:查看原帖>>