c语言建立学生链表对成绩求和,多项式求和,C语言,链表.doc

多项式求和,C语言,链表

计算机科学与工程学院PAGE

PAGE 10《算法与数据结构》试验报告

计算机科学与工程学院《算法与数据结构》试验报告[二]专业班级10级计算机工程02试验地点计算机大楼计工教研室学生学号1005080222指导教师蔡琼学生姓名肖宇博试验时间2012-4-7试验项目算法与数据结构试验类别基础性() 设计性() 综合性(√) 其它( )试验目的及要求(1)熟练掌握链表结构及有关算法的设计;(2掌握用链表表示特定形式的数据的方法,并能编写出有关运算的算法。成 绩 评 定 表类 别评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律主动完成设计任务30分程序与报告程序代码规范、功能正确报告详实完整、体现收获70分备注: 评阅教师: 日 期: 年 月 日试 验 内 容 一、实验目的和要求1、实验目的:(1)掌握用VC++上机调试线性表的基本方法; (2)掌握顺序表的存储结构以及基本运算的实现。2、实验内容把任意给定的两个一元多项式P(x)?,Q(x)?输入计算机,计算它们的和并输出计算结果。

3、实验要求:用链表实现。设计分析一元多项式可以用单链表表示,结点结构图示如下: 一元多项式链表的结点结构coef exp next

一元多项式算法伪代码如下:

1. 工作指针p、q初始化;2. while(p存在且q存在)执行下列三种情形之一 2.1 如果p->expexp,则指针p后移; 2.2 如果p->exp>q->exp,则 2.2.1 将结点q插入到结点p之前; 2.2.2 指针q指向原指结点的下一个结点; 2.3 如果p->exp=q->exp,则 2.3.1 p->coef =p->coef+q->coef; 2.3.2 如果p->coef ==0,则执行下列操作,否则,指针p后移; 2.3.2.1 删除结点p; 2.3.2.2 使指针p指向它原指结点的下一个结点; 2.3.3 删除结点q; 2.3.4 使指针q指向它原指结点的下一个结点; 3. 如果q不为空,将结点q链接在第一个单链表的后面;

源程序代码#include#include#define MAXSIZE 100typedef struct pnode{float coef; //多项式系数int exp; //多项式指数struct pnode *next;}polynode;

void Inipnode(polynode *&p) //初始化{p=(polynode *)malloc(sizeof(polynode));p->next=NULL;}

void Creatpnode_R(polynode *&p) //尾插法建立头结点{int len=0;polynode *s,*r;p=(polynode *)malloc(sizeof(polynode));r=p;label:printf("请输入您要输入多少个多项式");printf("\n");scanf("%d",&len);if(len<=0){printf("************************************************************");printf("\n");printf("\t\t输入有误! 请重新输入!");printf("\n");printf("************************************************************");printf("\n");goto label;}else{for(int i=0;icoef));if(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值