1992年高级程序员下午试题1(统计单词的平均空格数和剩余空格数)



阅读下列说明和流程图,回答问题1和问题2,把解答写在答卷的对应栏内。

[说明]

在字符数组 S 中存放着一行长度为 L 的正文,每个数组元素存放一个字符。现假定正文仅由单词、空格和句号组成,单词由连续的英文字母组成。单词与单词之间可以有1个或多个空格、单词至句号之间或句号至单词之间可以有。个或。个以上的空格,两上句号之间除空格符外至少有一个单词。S 的第一个非空格字符不能是句号,最后一个非空格字符不一定是句号,S 的两端可以有。个或。个以上的空格。现准备对 S 中的字符串进行编辑,使得空格尽可能均匀地分布在单词之间。

该流程图实现编辑前的预处理。流程图中,首先统计S中单词和句号的总数NW、空格,总数NB、句号或每个单词的第’一个字母在S中的位置(存放在数组 SW 中)和每个单词或句号的长度(存放在数组 HW 中,句号的长度置为 -1)。然后,计算单词至单词以及句号至单词间的间隔总数B,最后计算每个间隔的于均空格数 N( 整数 )和剩余的空格数 M。 

[问题 1]

填充流程图中的 ①~⑦ 框,使之成为完整的流程图。 

[问题 2]

为了检查正文中句号的用法是否正确,需要在流程图的 ① 处增设判断及报错处理( 见右图 )。试用题中的有关符号填写判断框 ⑧ 和 ⑨ 的内容。 

 

 

 

答案:

[问题1]

① H→HW[NW] ② 'false'→W ③ W:'false' ④ H→HW[NW] ⑤ 'false'→W ⑥ 0→H ⑦ HW[1]:-1
[问题2]

⑧ NW:0 ⑨ HW[NW]:-1

上一篇:数仓数据治理实践与总结


下一篇:【D3.js 学习总结】23、D3几何 - 四叉树