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

简介:  阅读下列说明和流程图,回答问题1和问题2,把解答写在答卷的对应栏内。 [说明] 在字符数组 S 中存放着一行长度为 L 的正文,每个数组元素存放一个字符。现假定正文仅由单词、空格和句号组成,单词由连续的英文字母组成。


阅读下列说明和流程图,回答问题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

相关文章
|
算法
代码随想录Day21 回溯 LeetCodeT216 组合总和III LeetCode T17电话号码的字母总和
代码随想录Day21 回溯 LeetCodeT216 组合总和III LeetCode T17电话号码的字母总和
55 0
|
7月前
【错题集-编程题】包含不超过两种字符的最长字串(滑动窗口)
【错题集-编程题】包含不超过两种字符的最长字串(滑动窗口)
|
运维
【运维杂谈】统计文件中出现的单词数和字母数
【运维杂谈】统计文件中出现的单词数和字母数
101 0
|
机器学习/深度学习 Cloud Native
【刷题日记】2044. 统计按位或能得到最大值的子集数目
本次刷题日记的第 8 篇,力扣题为:2044. 统计按位或能得到最大值的子集数目 ,中等
|
Python
【基础入门题033】统计字符数
【基础入门题033】统计字符数
95 0
|
存储 算法
【题型总结】找到第n个自定义数 | 丑数系列 + 神奇数字
思路:对于对于任意一个丑数 x,其与任意的质因数(2、3、5)相乘,结果(2x、3x、5x)仍为丑数。因此可以使用优先队列(小根堆)存放丑数x,每次从队列取出最小值x,并将x所对应的2x、3x和5x入队。第n次出队的值即为第n个丑数
271 0
【题型总结】找到第n个自定义数 | 丑数系列 + 神奇数字
|
索引
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
138 0
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
6-9 统计个位数字 (15 分)
6-9 统计个位数字 (15 分)
175 0
7-12 两个数的简单计算器 (10 分)
7-12 两个数的简单计算器 (10 分)
205 0