数据结构与算法实验报告 2

数据结构与算法实验报告 2

ID:38494384

大小:541.00 KB

页数:18页

时间:2019-06-13

数据结构与算法实验报告 2_第1页
数据结构与算法实验报告 2_第2页
数据结构与算法实验报告 2_第3页
数据结构与算法实验报告 2_第4页
数据结构与算法实验报告 2_第5页
资源描述:

《数据结构与算法实验报告 2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构与程序设计专题实验报告17实验报告一、实验任务实验题目:数据结构与程序设计专题实验二、实验内容实验二:基于串的程序分析(一)实验目的:熟练掌握串的运用,以及线性表、栈、队列等基本操作。(二)基本要求:1)把C程序文件按字符顺序读入源程序;2)边读入程序,边识别统计代码行、注释行和空行,同时还要识别函数的开始和结束,以便统计其个数和平均行数;3)程序的风格主人评价分为代码、注释和空行三个方面。每个方面为A,B,C,D四个等级。(三)内容提要:读入一个C程序,统计程序中代码、注释和空行的行数以及函数的个数和平均行数,并利用统计信息分析评价该程序风

2、格。注:等级的划分标准是:                 A级     B级            C级            D级代码(函数平均长度)10-15行  8-9或16-20行  5-7或21-24行   <5或>24行注释(占总行数比率)15-25%   10-14或26-30%  5-9或31-35%   <5%或>35%空行(占总行数比率)15-25%   10-14或26-30%  5-9或31-35%    <5%或>35%三、要点分析题目中涉及的主要知识点有:1、文件。打开源文件,读入程序做统计,同时还要将识别到的函数记录到

3、文件“log.txt”中。2、串(字符串)。整个程序的各种功能都是基于对串的操作实现的。如判断是否为空串、在串中查找子串、返回截断的串等等。3、结构体。设置结构体变量,记录统计数据。4、函数。编写各种功能的函数,主函数通过调用函数实现程序的功能。四、解题步骤编程平台:MicrosoftVisualC++6.0编程平台应用:第一步:打开MicrosoftVisualC++6.0运行软件;17第二步:在主菜单中选文件→新建。17第三步:在出现的如下界面中选取“工程”项,选择“Win32ConsoleApplication”,填写工程名称,选择存储路径,点

4、击“确定”。第四步:勾选“一个简单的程序”复选框。17第五步:在出现的编译环境中编写程序。五、程序的算法描述1、头文件引用与宏定义:#include#include#include#defineTRUE1#defineFALSE0#defineBOOLint#defineMAXSIZE5000#defineCOUNT20//可以统计的最大的文件个数#defineLEN20//文件名的最大长度2、所用存储结构://函数属性结构typedefstruct{charfilename[20];//每一

5、个函数的名字intlength;//每一个函数的长度intpos;//每一个函数的位置}Fun;//统计结构的声明17typedefstruct{intcomments;//纯注释的个数intcomment;//混合注释个数intblank;//空行的个数Funfun[MAXSIZE];//函数的属性intothers;//除去函数中代码外其余的代码个数intfuncount;//函数的个数}Analy;其中纯注释是指一行中只有注释和无其他,而混合注释是指一行中除注释外还有其他语句等。3、程序中各函数的简要说明:1)、BOOLStrEmpty(cha

6、r*s)判断字符串是否为空串,如果字符串的第一个字符为“”,则为空串。2)、intFind(char*s1,char*s2)查看S1中是否有值为S2的子串,若有则返回第一个子串的位置,若无则返回-1。首先比较两个字符串的长度,若s1长度小于s2长度,则返回false;当s1长度大于s2长度时,设置i和j俩个变量分别指向俩个字符串,比较s1[i]和s2[j]的当前的值,相同则i,j同时加1,直至s2比较完;否则i加1,j置零,从下一个字符开始重新比较。3)、voidHaveLine(FILE*fp,char*s)读取文件中的一行字符。借助文件指针f

7、p和函数fgetc,从源文件中提取字符,并存入字符串s中,当遇到“”时表示一行读取完成。并在字符串后加“”,表示字符串结束。4)、char*IgnoreB(char*s)忽略一行字符开头的空格和tab,返回截断后的串指针。利用字符串指针将字符串传到函数中,函数检测字符串开头是否为空格,若是指针加1,直到指针当前指示字符不是空格,并返回指针(即字符串中第一个不是空格的字符的地址)。5)、intIsCom(char*s)判断一行字符是不是注释。首先在字符串s中查找子串“\”,若无则此行无注释;若有,但当“\”出现在“”中时,不是注释,只是输出

8、项,须予以排除;当有子串“\”并且子串位置在最开始,则此行只有注释,用1表示此类型。其他类型注释用2表示。

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

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

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