3124.软件学-实验备课笔记

3124.软件学-实验备课笔记

ID:6682680

大小:66.50 KB

页数:25页

时间:2018-01-22

3124.软件学-实验备课笔记_第1页
3124.软件学-实验备课笔记_第2页
3124.软件学-实验备课笔记_第3页
3124.软件学-实验备课笔记_第4页
3124.软件学-实验备课笔记_第5页
资源描述:

《3124.软件学-实验备课笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件学基础实验备课笔记实验一基本算法实现一、实验目的1.熟练掌握C语言及其调试开发环境;2.积累用C语言编写调试程序的经验;3.掌握基本算法有关的知识,具有较好的算法设计和分析的能力。二、实验设备:计算机三、实验要求:熟练掌握C语言及其上机调试环境(如TC2.0或VC6.0)的操作使用。四、实验内容百钱百鸡问题。中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?问题分析与算法设计:这是一个典型的数值型问题,我们要首先

2、建立这个问题的数学模型,数学模型也就是我们平时说的数学方程。假设:我们要买x只公鸡,y只母鸡,z只小鸡,根据题目的意思可以得到两个方程:x+y+z=100①5x+3y+z/3=100②根据题目的意思,我们可以确定x和y的取值范围:0<=x、y、z<=100。我们可以采用穷举法进行求解。对于变量x,y,z的不同组合,看它们是否满足上面的两个方程,如果满足了,就是问题的一个解。如果不满足,就不是问题的解。我们可以采用三重嵌套的循环对变量x,y,z进行组合。我们可以写出程序1。程序1:#include

3、h>main(){intx,y,z,j=0;/*j为计数器,记录解的数量*/for(x=0;x<=100;x++)/*穷举变量x*/for(y=0;y<=100;y++)/*穷举变量y*/for(z=0;z<=100;z++)/*穷举变量z*/if(x+y+z==100&&5*x+3*y+z/3==100)/*判断是否满足两个方程*/printf("%2d:cock=%2dhen=%2dchicken=%2d",++j,x,y,z);}五、实验结果与讨论:讨论实验算法改进,分析实验结果并记录。24软件学基

4、础实验备课笔记实验二线性表一、实验目的加深理解线性表的顺序表示与链式表示的意义和区别;掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。二、实验设备:计算机一台三、实验要求:(1)给出程序设计的基本思想、原理和算法描述。(2)源程序给出注释。(3)记录程序的运行结果,并结合程序进行分析。四、实验内容1、从键盘上输入一个整数x和一个顺序表L,在顺序表L中查找x的位置。若找到,则显示值x在L中的下标;否则显示“该数不存在”。查找算法示例程序:#include

5、o.h>#defineN10/*定义顺序表中元素个数*/main(){inti,x;inta[N];/*定义顺序表*/clrscr();/*清屏*/printf("请输入一个整数:");/*提示从键盘上输入整数*/scanf("%d",&x);/*从键盘输入一个整数*/printf("请输入表元素:");for(i=0;i<10;i++)/*输入表元素*/scanf("%d",&a[i]);for(i=0;i<10;i++)if(a[i]==x)break;/*在顺序表中找到x就退出循环,变量i的值就

6、是x在表中的位置*/if(i<10)printf("x在顺序表中的位置是:%d",i);elseprintf("该数不存在!");/*如果i值大于等于10的话,说明找不到该数*/}2、在有序表中插入一个元素并保持该表仍然有序。(选做)题目要求:按用户输入的数据建立一个有序表(表中元素按递增有序)。将指定元素插入表中适当位置,并保持该表有序表的有序性。测试数据:s={10,23,34,5,61,72,29,20}运行结果:s={5,10,20,23,29,34,61,72}插入值:25插入后:s={5,10

7、,20,23,25,29,34,61,72}24软件学基础实验备课笔记#include"datastru.h"#includemain(){SEQUENLISTa;inti,k,m,x;printf("请输入顺序表元素,元素为整型量,用空格分开,-99为结束标志:");a.last=0;i=0;scanf("%d",&i);while(i!=-99){/*输入顺序表元素,建立有序表*/k=a.last;while((k>=1)&&(i

8、;m>=k+1;m--)a.datas[m+1]=a.datas[m];a.datas[k+1]=i;a.last++;scanf("%d",&i);}printf("输入要插入的元素值(整型):");scanf("%d",&x);printf("插入前有序表元素列表:");for(i=1;i<=a.last;i++)printf("%4d",a.datas[i]);printf("");i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。