天天看點

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

繼續閱讀