实验七实验报告卓越14彭佳伟

实验七实验报告卓越14彭佳伟

ID:28056500

大小:162.38 KB

页数:11页

时间:2018-12-07

实验七实验报告卓越14彭佳伟_第1页
实验七实验报告卓越14彭佳伟_第2页
实验七实验报告卓越14彭佳伟_第3页
实验七实验报告卓越14彭佳伟_第4页
实验七实验报告卓越14彭佳伟_第5页
资源描述:

《实验七实验报告卓越14彭佳伟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C语言程序设计实验报告班级卓越工程师班成绩指导教师李开学号U201414716同组人姓名专业计g机科学与技术口期2014年12月3口第七次实验数组实验学生姓名彭佳伟实验组别实验名称数组实验一、实验目的(1)掌握数组的说明、初始化和使用。(2)掌握一维数组作为函数参数时实参和形参的用法。(3)掌握字符串处理函数的设计,包括串操作函数及数字串与数之间转换函数的实现算法。(4)掌握基于分治策略的二分杏找算法和选择法排序算法的思想,以及相关算法的实现。二、实验任务1.源程序改错下面是川來将数组a中元素按升序排序后输出的源程序。分析源程序中存在的问题,并对源程序进行修

2、改,使之能够正确完成任务。源程序1:#includeintmain(void){inta[10]={27,13,5,32,23,3,17,43,55,39};voidsort(int[],int);inti;sort(a[0],10);for(i=0;i<10;i++)printf(n%6d",a[i]);printf(HH);return0;}voidsort(intb[],intn){inti,j,t;for(i=0;i

3、1],bU+1]=t;}2.源程序完善、修改、替换(1)下面的源程序用于求解瑟夫问题:M个人围成-•圈,从第一个人开始依次从1至N循环报数,每当报数为N时报数人出圈,知道圈巾只剩下一个人为止。请在源程序2中的下划线处填写合适的代码来完善该程序。源程序2:#include#defineM10#defineN3intmain(void){intalMJ,blMj;/*数组a存放圈中人的编号,数组b存放出圈人的编号*/inti,j,k;中人安顺序编号1〜M*/for(i=0;i1;

4、i--){/*i表示圈中人的个数,初始为M个,剩一个时循环结束;j表示当前报数人的位置*/for(k=1;k<=N;k++)/*l至N报数*/if(++j>i-l)j=0;/*最后一个人报数后第一个人接着报,形成一个圈*/b[M-il=i?::将报数为N的人的编号存入数组b*/ifQ)for(k=-j;k

5、序屮使用数组元素的伉表示圈屮人的编号,故每当有人出圈时都要压缩数组,这种算法不够精炼。如果采用做标记的方法,即每当有人岀圈时对相应数组元素做标记,从而可省掉压缩数组的时间,这样处理效率会更高一些。因此,请采用做标记的方法修改(1)中的程序,并使修改后的程序与(1)中的程序具有相同的功能。1.跟踪调试源程序在下而所给的源程序屮,函数strncat(s,t,n)本来应该将字符数组t的前n个字符连接到字符数组8屮字符串的尾部。但函数strncat在定义时代码有误,不能实现上述功能。请按下面的要求进行操作,并回答问题和排除错误。(1)单步执行源程序。进入函数strn

6、cat后观察表达式s、t和i。当光条落在for语句所在行时,i为何值?当光条落在strncat函数块结束标记“}”所在行时,s、t分别为何值?(2)分析函数出错的原因,排除错误,使函数正确实现功能,最后写出程序的输出结果。源程序3:#includevoidstrncat(char[],char[],int);intmain(void)chara[50J="Theadoptedsymbolis*',bl27J="abcdefghijklmnopqrstuv'vxyz”;strncat(a,b,4);printf(no/os",a);ret

7、urn0;voidstrncat(chars[],chart[],intn){inti=O,j;while(s[i++]);for(j=0;j

8、课程的成缋,将成缋按从高到低的次序排序,姓名同时作相

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

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

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