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

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

求差函数模块:

开始

定义存储结果的空链 r

存储多项式 1 的空 链 P 是否为空

存储多项式 2 的空 链 Q 是否为空

同指数项系数相加后存入

r 中

直接把 q 中 各项存入 r

把 p 中各项系数改 变符号后存入 r 中

输出存储多项式的和的链 r

合并同类项

结束

- 11 -

四、 主要源程序代码

#include #include #include typedef struct duoxiangshi {

int coef; int exp;

struct duoxiangshi *next; }DXS;

int getNum() {

int num; printf(\输入选择功能对应的数字 : \scanf(\return num; }

void fun1( DXS *PHEAD, DXS *QHEAD ) {

int zs, xs;// 定义指数系数 printf(\请输入 P(x) 中各项的系数和指数scanf(\while( zs != 0 || xs != 0 ) {

DXS *p = (DXS*) malloc(sizeof(DXS)); p->coef = xs; p->exp = zs;

PHEAD->next = p;

p->next = NULL; PHEAD = PHEAD->next; scanf(\printf(\

请输入 Q(x) 中各项的系数和指数- 12 -

\\n\\\n\

scanf(\while( zs != 0 ||xs != 0 ) {

DXS *p = (DXS*) malloc(sizeof(DXS)); p->coef = xs; p->exp = zs; QHEAD->next = p; p->next = NULL; QHEAD = p;

scanf(\} printf(\}

void fun2( DXS *PHEAD, DXS *QHEAD )// 升幂排序 {

DXS *p, *q;// 链表的冒泡排序 p = PHEAD->next;

for( p; p != NULL; p = p->next ) {

for( q = p->next; q != NULL; q = q->next ) {

if( p->exp > q->exp ) {

int temp;

temp = p->coef; p->coef = q->coef; q->coef = temp; temp = p->exp; p->exp = q->exp; q->exp = temp; } } }

p = QHEAD->next;

for( p; p != NULL; p = p->next ) {

- 13 -

输入 5 显示结果\\n\

for( q = p->next; q != NULL; q = q->next ) {

if( p->exp > q->exp ) {

int temp;

temp = p->coef; p->coef = q->coef; q->coef = temp; temp = p->exp; p->exp = q->exp; q->exp = temp; } } } printf(\}

void fun5( DXS *PHEAD, DXS *QHEAD ) {

printf(\当前保存的 P(x),Q(x) 序列如下 :\\n\printf(\

while( PHEAD->next != NULL ) {

PHEAD = PHEAD->next;

printf(\if( PHEAD->next != NULL ) {

printf(\}

printf(\

printf(\

while( QHEAD->next != NULL ) {

QHEAD = QHEAD->next;

printf(\

- 14 -

输入 5 显示结果。 \\n\