文章目录

  • 实验一 线性结构
    • 1. 实验目的
    • 2. 实验内容
    • 3. 实验要求
    • 4. 实验过程
      • (1) 问题描述
      • (2) 数据结构与算法设计
      • (3) 程序实现
      • (4) 实验结果
      • (5) 实验总结

实验一 线性结构

——一元多项式求导

1. 实验目的

熟练掌握链式线性表的基本操作

2. 实验内容

设计函数求一元多项式的导数。

3. 实验要求

(1) 输入格式说明:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
(2) 输出格式说明:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
(3) 样例输入与输出:

序号 输入 输出
1 3 4 -5 2 6 1 -2 0 12 3 -10 1 6 0
2 5 20 -7 4 3 1 100 19 -28 3 3 0
3 1000 0 0 0
4 -1000 1000 999 0 -1000000 999

4. 实验过程

(1) 问题描述

(问题分析及功能描述)

(2) 数据结构与算法设计

(逻辑结构分析+存储结构设计+关键算法思路+伪代码或流程图)

(3) 程序实现

(函数说明+函数之间的调用关系+关键算法的实现代码)

#include<stdio.h>
#include<stdlib.h>
/*数学建模:建立链表,其中每个节点PolyNode存储系数和指数,(c,e) => c*x^e
*/
typedef struct PolyNode *Polynomial;
struct PolyNode {int coefficient;//系数int exponent;//指数int order;//阶数Polynomial link;
};void Attach( int c, int e, Polynomial *pRear );// 将由(c, e)构成的新项插入到pRear间接指向的结点后面
Polynomial  ReadPoly();//读入多项式
Polynomial FirstDerivation(Polynomial P);//求导函数
void PrintPoly(Polynomial P);//输出多项式int main()
{Polynomial P,Q;P = ReadPoly();/* 读输入多项式 */Q = FirstDerivation( P ); /* 求导函数 */PrintPoly( Q ); /* 输出多项式的一阶导 */return 0;
}void Attach( int c, int e, Polynomial *pRear ){/* 将由(c, e)构成的新项插入到pRear间接指向的结点后面 */Polynomial P;P=(Polynomial )malloc(sizeof(struct PolyNode));P->coefficient=c;P->exponent=e;P->link=NULL;(*pRear)->link = P;*pRear = P;
}Polynomial ReadPoly(){Polynomial P, Rear, t;int c,e,terms;printf("Input the number of polynomial terms:");scanf("%d",&terms);P= (Polynomial )malloc(sizeof(struct PolyNode));Rear = P;for (int i = 0; i < terms; ++i) {scanf("%d %d",&c,&e);Attach(c,e,&Rear);}t=P; P=P->link; free(t);P->order=0;return P;
}Polynomial FirstDerivation(Polynomial P) {Polynomial P1,P2,Q;P2=(Polynomial )malloc(sizeof(struct PolyNode));*P2 = *P; P1 = NULL; Q=P2;while ( P2 && P2->exponent){P2->coefficient *= P2->exponent;P2->exponent--;P1 = P2;P2 = P2->link;}if ( P2 ){if ( P1 ){free( P2 );P1->link = NULL;}elseP2->coefficient=0;}Q->order++;return Q;
}void PrintPoly(Polynomial P){int flag=0;while(P){if (!flag)flag=1;else printf(" ");printf("%d %d",P->coefficient,P->exponent);P = P->link;}printf("\n");
}

(4) 实验结果

(运行截图+结果分析描述+遇到的问题和解决办法等)



(5) 实验总结

(实验体会、学习收获、过程总结等)

数据结构_C语言_实验一_线性结构 ——一元多项式求导相关推荐

  1. 密码学实验报告c语言程序,密码学_实验一_古典密码算法_C语言.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp实验设计 密码学_实验一_古典密码算法_C语言.doc8页 本 ...

  2. c语言程序设计实验指导交大答案,C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc...

    C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc 实验一 Visual C集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重 ...

  3. 华信c语言程序设计答案,C语言程序设计实验指导_颜晖_主_....doc

    C语言程序设计实验指导_颜晖_主_....doc C语言程序设计部分实验参考答案 实验2 #include int main(){//2-1-2 int c,f=150; c=f*5/9-32*5/9 ...

  4. 数据结构C语言版(清华大学_唐国民_第3版)单链表

    //数据结构C语言版(清华大学_唐国民_第3版) //单链表功能实现,书 P25 例子2.3.3,与书上代码有些许出入,不用在意,重要的是思路 #include<stdio.h> #inc ...

  5. 数据结构c语言版实验报告2,数据结构(C语言版) 实验报告 (2)

    <数据结构(C语言版) 实验报告 (2)>由会员分享,可在线阅读,更多相关<数据结构(C语言版) 实验报告 (2)(15页珍藏版)>请在人人文库网上搜索. 1.数据结构(C语言 ...

  6. java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...

    <<网络信息安全技术>_实验报告_破译vigen&amp#232;re_密码加密的密文>由会员分享,可在线阅读,更多相关<<网络信息安全技术>_实验报 ...

  7. c语言程序设计循环结构实验报告,C语言程序设计实验报告:循环结构程序设计...

    循环结构程序设计 C语言实验报告 课程__C程序设计_实验名称_循环结构程序设计__第 页 共 页 系 别__电气工程______________________ 实 验 日 期 2010 年 4 月 ...

  8. c语言百人搬百砖答案,C语言程序设计实验四:循环结构

    C语言程序设计实验四:循环结构 1. 编写求n!的程序:要求输入n,然后计算输出n的阶乘. #include "stdio.h" void main() { long i,fac, ...

  9. 【数据结构(C语言版)系列一】 线性表

    最近开始看数据结构,该系列笔记简单记录总结下所学的知识,更详细的推荐博主StrayedKing的数据结构系列,笔记部分也摘抄了博主总结的比较好的内容. 一些基本概念和术语 数据是对客观事物的符号表示, ...

最新文章

  1. centOS 7 安装man中文版手册
  2. 如何查看功能的源代码?
  3. python安装包_Python开发环境搭建
  4. python 中参数 ,解包和变量的入门
  5. c++中实现域内,左,右对齐的方法
  6. go语言的rune类型
  7. Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
  8. oracle hang analyze,hanganalyze 分析数据库挂起
  9. ISTQB高级-测试经理国际认证试题及答案(二)
  10. DOS批处理高级教程精选(二)
  11. [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理 OnActionExecuting内如何获取参数...
  12. el-input输入值无法在输入框显示
  13. unity, 删除animationEvent
  14. Leetcode199二叉树的右视图(宽搜)
  15. GIS离线地图的下载与发布
  16. NPT PT G螺纹
  17. 常见植被指数及适用场景
  18. 4G多卡聚合路由器解决视频直播中的网络不稳定问题
  19. Selenium html之于ul标志代码分析与使用
  20. 用JavaScript写的贪吃蛇游戏(很简单,很详细)

热门文章

  1. tmux手册中文翻译
  2. stm32F4驱动AD7793程序-ADC模拟前端-应用详解,应该是最全了
  3. 学生信息管理系统问题集锦(三)
  4. Socket 连接建立过程
  5. 1.linux系统基础笔记(互斥量、信号量)
  6. 数据库备份、还原的处理
  7. 用户工号转换成姓名加工号
  8. 敏捷开发团队管理系列之二:程序与测试团队I
  9. 父组件向子组件传递数据
  10. 单选 textarea 赋初值