下面是一个输出函数的实现,可以自动合并指数相同的项:
// 输出多项式链表
void Print(HLink H) {
if (H == NULL) {
printf("多项式为空。\n");
return;
}
HLinkNode* current = H;
while (current != NULL) {
// 检查当前节点和下一个节点是否具有相同指数
if (current->next != NULL && current->exponent == current->next->exponent) {
float sumCoefficient = current->coefficient; // 初始化系数和为当前节点的系数
// 找到所有具有相同指数的节点,并计算系数和
while (current->next != NULL && current->exponent == current->next->exponent) {
sumCoefficient += current->next->coefficient;
current = current->next;
}
// 输出合并后的项
printf("%.2fx^%d ", sumCoefficient, current->exponent);
} else {
// 直接输出当前节点的项
printf("%.2fx^%d ", current->coefficient, current->exponent);
}
current = current -> next;
}
printf("\n");
}
你可以在Build函数结束后调用Print函数来输出创建好的一元多项式链表,并自动合并指数相同的项。
内容由零声教学AI助手提供,问题来源于学员提问




