ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:21KB ,
资源ID:17012856      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17012856.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华师大C语言实验报告C实验报告3学号姓名课件docWord文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华师大C语言实验报告C实验报告3学号姓名课件docWord文档下载推荐.docx

1、版Maxi=getMax(a,n);printf(Maxi=%dn,Maxi);return 0;int read(int arr)int i=0,n;FILE *fp;if(fp=fopen(data.txt,r)=NULL)printf(cant find the file!);while(!feof(fp)fscanf(fp,%d,&arri+);n=i;fclose(fp);return n;int getMax(int arr,int n)int i,Maxi=0;#版*%for(i=0;in;i+)if(arrMaxiarri) 新#*新版arrMaxi=arri;Maxi=i;M

2、ax=%dn,arrMaxi);return Maxi;运行结果窗口任务二 掌握一维数组的删除操作1.编写功能函数: 删除第 i 个数组元素,返回数组实际长度。需要考虑异常情况,给出出错提示int delArray (int arr,int n ,int i)2编写数组构造函数 ,数组中存储 1-n 的整数序列void makeArray (int arr ,int n )3.编写输出函数,输出数组中前 n 个数。void pntArray(int arr int n)4.编写主函数:输入 n 个数,删除奇数位置上的数后输出。调用上述子函数完成功能。源程序清单 ex03_02.cpp# def

3、ine MAX 100int delArray(int arr,int n,int i);void makeArray(int arr ,int n);void pntArray(int arr ,int n);int main ()int n,j,i,m;n:scanf(n);if(n0;j=j-2)delArray(a,n,j);n=n-1;pntArray(a,n);int delArray(int arr,int n,int i)int k;for(k=i;k=0)del(a,n,m);saveData(a,n);if(t!=n) 删除成功 删除失败 ,找不到要求的 x 值nint d

4、el(int arr,int n,int i)int find (int arr,int n,int x)for(k=0;if(arrk=x)return k;if(k=n)return -1; 新新%版&FILE*fp; 新%版版#*int k=0;arrk);k+;int saveData(int arr,int n)result.txtw 新版版#% 新版新&版fprintf(fp,%d 新版版&运行结果:(1) 窗口(2) data.txt 的内容23 56 89 2178 78 324 78 45 78 34 78 80 4 675 79 3 678 9566 324 546 781

5、35 8797 34 56257 556 345(3) result.txt 的内容23 56 89 2178 324 45 34 80 4 675 793 678 9566 324 546 78135 8797 34 562 57 新版版%*&556 345任务四 掌握一维数组的插入操作 新版*&%(1)编写功能函数插入第 i 个数组元素int insert (int*pa ,int n ,int i,int x)(2)编写主函数:输入 n 个有序数,输入 x,将 x 插入数组合适的地方使数组仍然有序。源程序清单 ex03_04.cpp 新*&版%int insert(int*pa ,int

6、 n,int i,int x);void pntArray(int arr,int n);int n,x,k,i=-1; 请输入 n:if(n=0) 数组不存在!ak); 请输入 x: 新%#版版* 新新#版版*k+) 新版版新if(a0x) 新%版*i=k;break; 新&%*版if(aki;k-) 新版新版&*(p+k)=*(p+k-1);*(p+i)=x;n=n+1;void pntArray(int arr,int n)int i;%5d,arri);(1) 插入值位置在序列中间有序序列: 2 4 5 6 9 12 新%版& 2 4 5 6 7 9 12(2) 插入值位置在序列第一位

7、 2 3 4 5 6 7 1 2 3 4 5 6 7(3) 插入值位置在序列最后 1 2 3 4 5 6 7 8(4) 插入值是序列中的重复值 新*版&%# 1 2 3 4 5 6 1 2 3 4 4 5 6(5) n=0数组不存在!实验二 一维数组算法1. 理解并掌握求最大 (小)值,排序,查找,倒置算法。2. 了解使用文件中的数值进行测试的方法。任务一 :最大数最小数算法编写一个函数, 功能为在一个数组中根据要求查找并返回最大值或最小值的下标, 例如给一个标志变量为 1 时最大值,为 2 时求最小值, 标志变量 为参数由程序员调用时指定。int getMaxorMin(int arrInt

8、,int n)int i,Maxj=0,flag,Minj=0; 请指定标志变量 flag:flag);if(flag=1)if(arrIntiarrIntMaxj)Maxj=i;return Maxj;if(arrIntiarrIntMinj)Minj=i;return Minj; 新%版&任务二:排序算法编写三个函数,功能为按从小到大的顺序对数据中的数据进行排序。分别采用起泡,选择,插入算法。 新%新#版&起泡算法void bubbleSort(int arrInt,int n)int i,t,j;for(j=1;jarrInti)Insert(arrInt,arrInti,j,i); 新

9、#&*版版int Insert(int arrInt,int x,int k,int n)int j,t; 新版%版新*t=x;for(j=n-1;=k;j-)arrIntj+1=arrIntj;arrIntk=t;任务三:查找编写两个函数,功能为查找数组中是否存在 X,如存在返回下标,如不存在返回标志值。分别采用顺序查找和二分查找法完成。顺序查找int find(int arrInt,int brr,int n,int x)int k,i=0;if(arrIntk=x)brri=k;i+;return i;二分法:int biFind(int arrInt,int n,int x)int l

10、,h,m,q,num=0;l=0;h=n-1;q=n;while(h=l)m=(h+l)/2;if(arrIntmh=m;if(arrIntmq)m=-1; 找不到与 x 等值的数 nreturn m; 新版新#&任务四:倒置编写一个函数,功能为将一个数据中的数据逆序存放。void reverse(int arrInt,int n)int i,t;=n/2-1; t=arrInti;arrInti=arrIntn-i-1;arrIntn-i-1=t;任务五:验证以上编写的函数。编写 main 函数,安排合适的输入输出和函数调用语句,验证上述编写的函数功能。要求(1)有清晰的输入输出提示语句。(

11、2)数组必须在 main 函数中定义。(3)数组中数据,调用一个用户自定义函数,从文本文件中读取。源程序:ex03_05.cpp 新*新版&只需列举完整 main 函数和其它所有函数的函数声明。请加注释说明函数功能int getMaxorMin(int arrInt,int n);void bubbleSort(int arrInt,int n); 新版版*#&void InsertSort(int arrInt,int n); 新*#%版int Insert(int arrInt,int x,int k,int n); 新版版新#int find(int arrInt,int brr,int

12、 n,int x);int biFind(int arrInt,int n,int x);void reverse(int arrInt,int n); 新%&版版int b100; 新%新版版#int n,x,y,z,m,i; 求最大或最小值: (求最大值请将标志值定为 1,否则就是求最小值啦) n 最大值或最小值的下标是 %dn,getMaxorMin(a,n); 接下来是排序。 请输入选择排序的方式 n1 表示起泡排序; 2 表示插入排序 nx:if(x=1)bubbleSort(a,n); 新版新#版InsertSort(a,n); 新&新#版* 接下来进行查找。请选择查找方式 n1

13、表示顺序查找; 2 表示二分法查找 n 要注意的是其中二分法查找首先要进行排序,所以和上步操作顺序不可互换 ny); 在输入需要查找的数字 z:z);if(y=1) 新%#新版m=find(a,b,n,z); 所找数字的下标依次是 :m;,bi);m=biFind(a,n,z); 所找数字的下标是 :,m); 最后一步倒置操作 nreverse(a,n); 新%版*新思考题1. 请画出下列数据序列,使用起泡法,选择法和插入算法的排序过程。 46,12,172,98,46,92. 我们经常会讨论排序算法的稳定性,若待排序的序列中 ,存在多个具有相同关键字的记 新%*版&录,经过排序 , 这些记录

14、的相对次序保持不变 ,则称该算法是稳定的 ;若经排序后 ,记录的相对次序发生了改变 ,则称该算法是不稳定的。请问起泡,选择和插入算法的稳性如何3. 请设计符合下面要求的测试用例,画出使用二分查找算法的查找过程。(1) 没有找到(2) 第一次就找到(3) 需要查找的数在数组的第一个(4) 需要查找的数在数组的最后一个4. 如果在 main 要求从大到小排序,使用现有的函数,如何实现,写出功能实现语句。实验三 : 自选实验1. 加深对结构化程序结构的理解:使用函数2. 加深对数组的掌握3. 学习二维数组实验内容 新&版版%#任务一: CrapsCraps 是一种在娱乐场所很流行的游戏,它的规则如下

15、:游戏者投掷两个筛子,每个筛子有六面,就可能得到 1,2,3,4,5,6 点。当筛子停下来后,计算两个筛子的和。如果第一次两个筛子的和是 7 或 11,游戏者获胜。如果第一次两个筛子的和是 2,3 或 12,游戏者输了。如果第一次两个筛子的和是 4,5,6,8,9 或 10,两个筛子的和变成游戏者的积点,游戏者可以继续投掷, 直到两个筛子的和等于积点的值, 游戏者输了。 但如果其中有一次两个筛子的和等于 7,游戏者获胜。游戏开始时,游戏者设置参与游戏的筹码,在游戏中,游戏者可以下注,获胜得到下注数,输了扣去下注数,当游戏者的筹码用完,整个游戏结束。编写程序,模拟 Craps 游戏。(1) 编写

16、一个函数:投掷两个筛子,返回两个筛子的和提示:求随机数的方法# include “stdlib.h ”n=rand()%(Y-X+1)+X; /* n 为 XY 之间的随机数 */(2) 编写一个函数:检查下注值是否有效,应小于游戏者的筹码数(3) 编写一个处理函数:根据游戏者是否获胜,修正游戏者的筹码。(4) 显示画面应如下信息,一个可能执行过程如下源程序清单: ex03_06.cpp二维数组编写程序输入一个数 n,再输入一个 n*n 二维数组,求该数组中除副对角线,第一行和最后一列之外的数组元素之和。要求:编写一个函数 getSum 用于实现求和操作。 ex03_07.cpp 编写程序实现输出 n 行杨辉三角。 用两种方法实现, 编写两个函数, 一个函数用一维数组实现,一个函数用二维数组实现。主函数中输入 n 值后,分别调用两函数输出杨辉三角。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1