您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 实验八-数值型数组处理
模块二之单元1数值型数组实验八数值型数组处理实验目的1、理解数值型数组的逻辑结构和存储结构2、掌握数值型数组基本运算及其实现3、掌握函数之间传递数组的方法实验内容1、一维数组的遍历操作编写程序文件sy8_1.cpp,从数据文件data.txt中读入数据到数组,计算最大值及最大值所在的下标,输出到屏幕。要求自定义以下函数:(1)编写函数intread(intarr[])从数据文件data.txt中读入数据到整型数组arr,返回读取数据个数值;(2)编写函数intgetMax(intarr[],intn,int*pm)遍历整型数组,求最大值及最大值所在下标,其中最大值由返回值返回,pm指向存放最大值下标的变量;(3)在main函数中调用read和getMax函数,完成输出最大值及最大值所在的下标。编码:源程序清单:#includestdio.h#defineMAX50intread(intarr[]);intgetMax(intarr[],intn);intmain(){intMaxi,n;inta[MAX];n=read(a);Maxi=getMax(a,n);printf(Maxi=%d\n,MAX);return0;}intread(intarr[]){模块二之单元1数值型数组inti=0,n;FILE*fp;if((fp=fopen(data.txt,r))==NULL){printf(cantfindthefile!);}while(!feof(fp)){fscanf(fp,%d,&arr[i++]);}n=i;fclose(fp);returnn;}intgetMax(intarr[],intn){inti,Maxi=0;for(i=0;in;i++){if(arr[Maxi]arr[i]){arr[Maxi]=arr[i];Maxi=i;}}printf(Max=%d\n,arr[Maxi]);returnMaxi;}测试源数据records.txt文件内容(记事本打开后的截屏图)运行过程记录(截屏图)。模块二之单元1数值型数组2、一维数组元素的倒置操作编写程序文件sy8_2.cpp,键盘输入n(n值由键盘输入)个整数,元素倒置后存放于原数组中并输出。要求自定义功能函数voidreverse(intp[],intn),实现p数组中n个元素的倒置。编码:源程序清单:#includestdio.hvoidreverse(intp[],intn);intmain(){intn,i,t;intp[100];printf(请输入n:);scanf(%d,&n);printf(请输入%d个数:,n);for(i=0;in;i++)scanf(%d,&p[i]);reverse(p,n);printf(\n);return0;}voidreverse(intp[],intn){intt,i;for(i=0;in/2;i++){t=p[i];模块二之单元1数值型数组p[i]=p[n-1-i];p[n-1-i]=t;}printf(\n逆序后的数组为\n);for(i=0;in;i++)printf(%5d,p[i]);}测试运行过程记录(截屏图)。3、一维数组的查找编写程序文件sy8_3.cpp,从数据文件读入若干整数值到数组,在数组中删除指定的数(该数键盘输入),处理后的数组元素再写入另一个数据文件。输出反馈,删除成功还是失败。要求自定义以下函数:(1)功能函数intdel(intarr[],intn,inti):在有n个整数的数组arr中删除下标为i的数组元素,返回删除后的实际元素个数。(2)功能函数intfind(intarr[],intn,intx):寻找值为x的数组元素,找到返回下标值,找不到返回-1。(3)功能函数intgetData(intarr[]):从文本文件data.txt读取数据到数组arr,返回读取的元素个数。(4)功能函数intsaveData(intarr[],intn):将数组arr的数据写入文本文件result.txt,成功返回1,否则返回0。(5)主函数:调用以上函数完成功能。输出反馈,删除成功还是失败。(说明:可以只删除找到的第一个数)模块二之单元1数值型数组编码程序清单测试源数据data.txt文件内容(记事本打开后的截屏图)运行过程记录(截屏图)结果数据result.txt文件内容(记事本打开后的截屏图)4、一维数组的有序插入编写程序文件sy8_4.cpp,输入n个有序整数(升序)存于一维数组中,再输入一个整数x,将x插入数组合适的地方使数组仍然有序。要求自定义以下函数:(1)功能函数intinsertX(int*pa,intn,intx):使x插入到以pa为首地址的n个有序数中仍然有序。(2)主函数:调用上述函数完成功能,并输出插入后的结果。编码程序清单测试运行过程记录(截屏图)5、一维数组的排序编写程序文件sy8_5.cpp,输入n个学生的C语言考试成绩存于一维数组中,按成绩降序排序。要求自定义以下函数:模块二之单元1数值型数组(1)功能函数voidsort(intscore[],intn):对存储有n个学生成绩的score数组按成绩降序排序。(2)主函数:调用上述函数完成功能,并输出排序后的结果。编码程序清单测试运行过程记录(截屏图)
本文标题:实验八-数值型数组处理
链接地址:https://www.777doc.com/doc-1988873 .html