7-2 一元多项式的乘法与加法运算 (20 分)

本文记录了作者在浙大MOOC数据结构课程中做一元多项式乘法与加法运算题目时的经历,虽然题目逻辑不复杂,但因未能清晰理解运行过程而耗费了大量时间。作者总结了四个编程经验和教训:1) 封装好函数,明确输入输出并测试;2) 注意List的初始化;3) 在调试时多使用printf输出关键步骤;4) 程序出错时要重新梳理逻辑。
摘要由CSDN通过智能技术生成

7-2 一元多项式的乘法与加法运算 (20 分)

这是在浙大MOOC数据结构的一道课后题,可是浪费了我很多的时间大约4,5个小时。
感觉这道题的逻辑并不复杂,也不是很难,但就是没能构想出他的整个的运行过程,导致在编程的时候浪费了大量的时间。
总结了以下的经验教训:
1、尽量把功能封装好,明确输入输出。完成测试。
2、做好初始化,对List的初始化。
3、在程序运行出错时,多printf()关键的中间过程,就例如乘法中每一步相乘的结果(要是这里早打印出来看看,或许能省很多时间)。
4、如果程序一直有问题,可以从头梳理一遍程序的逻辑看哪里有问题。
这是我在笔记里记得注意事项

#include <stdio.h>
#include <stdlib.h>

//定义链表结构
typedef int ElementType;
typedef struct LNode *List;
struct LNode{
   
    ElementType ceof; //多项式系数
    ElementType expon; //多项式指数
    List Next; //指向下一个结点
};

//函数定义
void Insert(ElementType ceof,ElementType expon,List Ptrl); //插入
List CreateList(); //建立空表
List multi(List p1,List p2); //乘法
List Plus(List p1,List p2); //加法
int compare(List p1,List p2); //比较指数

int main()
{
   
    List p1,p2;
    List p;
    p1 = CreateList();
    p2 = CreateList();
    int num1,num2;
    int ceof,expon;
    int i;
    scanf("%d",&num1);
    for(i=0;i<num1;i++){
   
        scanf("%d %d",&ceof,&expon);
        Insert(ceof,expon,p1);
    }
    scanf("%d",&num2);
    for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值