发布时间 : 星期日 文章C语言课程设计任务书更新完毕开始阅读
if( QHEAD->next != NULL ) {
printf(\}
printf(\}
void fun4( DXS *PHEAD, DXS *QHEAD ) {
int x0;
double sum; printf(\输入 x 的值: \scanf(\
sum = 0;
while( PHEAD->next != NULL ) {
PHEAD = PHEAD->next;
sum += PHEAD->coef * pow( x0, PHEAD->exp ); } printf(\
sum = 0;
while( QHEAD->next != NULL ) {
QHEAD = QHEAD->next;
sum += QHEAD->coef * pow( x0, QHEAD->exp ); }
printf(\}
void fun3( DXS *PHEAD, DXS *QHEAD )// 求两个多项式的和差 {
fun2( PHEAD, QHEAD );// 先进行升幂排序 DXS *RHEAD, *THEAD;
RHEAD = (DXS*) malloc(sizeof(DXS)); THEAD = (DXS*) malloc(sizeof(DXS));
- 15 -
RHEAD->next = NULL; THEAD->next = NULL;
DXS *p = PHEAD, *q = QHEAD; // 多项式相加 DXS *r = RHEAD; p = p->next; q = q->next;
while( p != NULL && q != NULL )// 当两个序列都有数值时 {
DXS *t = (DXS*) malloc(sizeof(DXS)); if ( p->exp == q->exp )// {
t->coef = p->coef + q->coef; t->exp = p->exp; p = p->next; q = q->next; }
else if( p->exp < q->exp )//P {
t->coef = p->coef; t->exp = p->exp; p = p->next; }
else if( p->exp > q->exp )//P {
t->coef = q->coef; t->exp = q->exp; q = q->next; }
r->next = t; r = r->next;
r->next = NULL; }
while ( p != NULL )// 当只有一个序列有数值时 {
DXS *t = (DXS*) malloc(sizeof(DXS)); t->coef = p->coef;
- 16 -
指数相同的情况
的指数小于 Q的指数
的指数大于 Q的指数
t->exp = p->exp; r->next = t; r = r->next;
r->next = NULL; p = p->next; }
while ( q != NULL ) {
DXS *t = (DXS*) malloc(sizeof(DXS)); t->coef = q->coef; t->exp = q->exp; r->next = t; r = r->next;
r->next = NULL; q = q->next; }
r = RHEAD; printf(\
while( r->next != NULL ) {
r = r->next; if (r->coef>=0) {
if(r!=RHEAD->next)
printf(\
printf(\} else
printf(\
}
printf(\// 多项式相减 p = PHEAD; q = QHEAD;
DXS *T = THEAD;
- 17 -
p = p->next; q = q->next;
while( p != NULL && q != NULL ) {
DXS *t = (DXS*) malloc(sizeof(DXS)); if ( p->exp == q->exp ) {
t->coef = p->coef - q->coef; t->exp = p->exp; p = p->next; q = q->next; }
else if( p->exp < q->exp ) {
t->coef = p->coef; t->exp = p->exp; p = p->next; }
else if( p->exp > q->exp ) {
t->coef = -1 * q->coef; t->exp = q->exp; q = q->next; }
T->next = t; T = T->next; T->next = NULL; }
while ( p != NULL ) {
DXS *t = (DXS*) malloc(sizeof(DXS)); t->coef = p->coef; t->exp = p->exp; T->next = t; T = T->next; T->next = NULL; p = p->next;
- 18 -