要求採用鍊錶形式,求兩個一元多項式的乘積:h3 = h1*h2。函式原型為:void multiplication( node * h1, node * h2, node * h3 )。
輸入資料為兩行,分別表示兩個一元多項式。每個一元多項式以指數遞增的順序輸入多項式各項的係數(整數)、指數(整數)。
例如:1+2x+x²表示為:<1,0>,<2,1>,<1,2>,
以指數遞增的順序輸出乘積: 《係數,指數》,《係數,指數》,《係數,指數》,
零多項式的輸出格式為:<0,0>,
說明:本題目有預設**,只要提交你編寫的函式即可。
前置**:
/* preset code begin - never touch code below */
#include
#include
typedef
struct node
node;
void
multiplication
( node *
, node *
, node *);
void
input
( node *);
void
output
( node *);
void
input
( node * head )
else
if( c ==
'-')
sign =-1
;else
if( c >=
'0'&& c <=
'9')
else
if( c ==
',')
}else
if( c ==
'>')}
}void
output
( node * head )
printf
("\n");
}int
main()
/* preset code end - never touch code above */
<1,0>,<2,1>,<1,2>,↵
<1,0>,<1,1>,↵
<1,0>,< 3,1>,< 3,2>,<1,3>,↵
<0,0>,↵
<1,20>,<-8,40>,↵
<0,0>,↵
<1,20>,<-8,40>,↵
<0,0>,↵
<0,0>,↵
<-1,0>,<1,1>,↵
<1,0>,<1,1>,↵
<-1,0>,<1,2>,↵
<5,0>,<10,1>,↵
<2,0>,< 3,1>,<4,2>,<5,3>,↵
<10,0>,<35,1>,<50,2>,<65,3>,<50,4>,↵
void
multiplication
(node *head1, node *head2, node *head3)
int exp = h1-
>exp+h2-
>exp;
if(p1-
>next ==
null
)else
node*tmp = p2-
>next;
if(p2-
>next ==
null
)else
if(tmp-
>exp == exp)
}else
if(tmp-
>exp > exp)
}
h2 = h2-
>next;
p2 = head3;
}
h2 = head2-
>next;
h1 = h1-
>next;}if
(head3-
>next ==
null
)}
資料結構題 一元多項式相乘
題目描述 要求採用鍊錶形式,求兩個一元多項式的乘積 h3 h1 h2。函式原型為 void multiplication node h1,node h2,node h3 輸入 輸入資料為兩行,分別表示兩個一元多項式。每個一元多項式以指數遞增的順序輸入多項式各項的係數 整數 指數 整數 例如 1 2x...
一元多項式相乘
include include include define max num 40 能夠處理的一元多項式的長度 define max coef 10 係數或冪 帶符號的情況下 能處理的最大長度 typedef struct inodeinode typedef struct inode poly t...
資料結構 一元多項式
void initlist polynode l 初始化多項式單鏈表 int getlength polynode l 求多項式單鏈表的長度 polynode getelem polynode l,int i 返回多項式單鏈表中第i個結點的指標 polynode locate polynode l,...