当前位置:首页 > C语言课程设计任务书 - 图文
求差函数模块:
开始
定义存储结果的空链 r
是
存储多项式 1 的空 链 P 是否为空
否
是
存储多项式 2 的空 链 Q 是否为空
否
同指数项系数相加后存入
r 中
直接把 q 中 各项存入 r
把 p 中各项系数改 变符号后存入 r 中
输出存储多项式的和的链 r
合并同类项
结束
- 11 -
四、 主要源程序代码
#include
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\
共分享92篇相关文档