【问题描述】
读入一个C程序,统计程序中代码、注释和空行的行数以及函数的个数和平均行数,并利用统计信息分析评价该程序的风格。
【基本要求】
(1) 把 C 程序文件按字符顺序读入源程序;
(2) 边读入程序,边识别统计代码行、注释行和空行,同时还要识别函数的开始和结束,以便统计其个数和平均行数。
(3) 程序的风格评价分为代码、注释和空行三个方面。每个方面分为 A,B,C 和 D 四个等级 , 等级的划分标准是 :
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) 头两个字符是 FFF 的行称为注释行(该行不含语句)。除了空行和注释行外,其余均为代码行(包括类型定义、变量定义和函数头)。
(2) 每个函数代码行数(除去空行和注释行)称为该函数的长度。
(3) 每行最多只有一个"{" 、"}"、"switch" 和"struet"(便于识别函数的结束行)。
【选作内容】
(1) 报告函数的平均长度。
(2) 找出最长函数及其在程序中的位置。
(3) 允许函数的嵌套定义,报告最大的函数嵌套深度。
大家多多帮帮我,我不行了.我跪谢大家!