02-線性結構1 一元多項式的乘法與加法運算 (20分)
設計函式分別求兩個一元多項式的乘積與和。
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0
。
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
突然發現自己鍊錶不會寫了
#include #include typedef struct node polynode, *polynomial;
polynomial readpoly();
void attach(int c, int e, polynomial * rear);
polynomial multpoly(polynomial p1, polynomial p2);
polynomial addpoly(polynomial p1, polynomial p2);
void printpoly(polynomial p);
int main(int argc, char const *argv)
polynomial readpoly()
temp = p;
p = p->next;
free(temp);
return p;
}void attach(int c, int e, polynomial * prear)
polynomial multpoly(polynomial p1, polynomial p2)
} temp1 = temp1->next;
while(temp1)
}else
temp2 = temp2->next;
}} temp1 = temp1->next;
} temp = p;
p = p->next;
free(temp);
return p;
}polynomial addpoly(polynomial p1, polynomial p2)
p = (polynode*)malloc(sizeof(polynode));
p->next = null;
rear = p;
temp1 = p1;
temp2 = p2;
while(temp1 && temp2)
temp1 = temp1->next;
} else if(temp1->exponent == temp2->exponent)
temp1 = temp1->next;
temp2 = temp2->next;
} else
temp2 = temp2->next;
} }while(temp1)
while(temp2)
temp = p;
p = p->next;
free(temp);
return p;
}void printpoly(polynomial p)
while(p)
printf("\n");
}
02 線性結構2 一元多項式的乘法與加法運算
02 線性結構2 一元多項式的乘法與加法運算 20 分 設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零...
02 線性結構2 一元多項式的乘法與加法運算
02 線性結構2 一元多項式的乘法與加法運算 20 分 設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零...
02 線性結構2 一元多項式的乘法與加法運算
設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。...