C语言课程设计任务书 联系客服

发布时间 : 星期三 文章C语言课程设计任务书更新完毕开始阅读3ca4d855487302768e9951e79b89680203d86bfa

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 -