题目
一、单选题(共30题,100.0分)24.(单选题,3.4分)若串str=“Software”,其子串的数目是()。A 8B 9C 36D 37
一、单选题(共30题,100.0分)
24.(单选题,3.4分)
若串str=“Software”,其子串的数目是()。
A 8
B 9
C 36
D 37
题目解答
答案
字符串 `"Software"` 的长度为 $ n = 8 $。根据公式,非空子串数为:
\[
S = \frac{n(n+1)}{2} = \frac{8 \times 9}{2} = 36
\]
包括空串在内,总子串数为:
\[
S_{\text{total}} = 36 + 1 = 37
\]
逐项分析:
- 长度为 1 到 8 的子串数分别为 8, 7, 6, 5, 4, 3, 2, 1,总计 36。
- 加上空串,总数为 37。
答案:D. 37
解析
子串的定义是字符串中连续字符组成的序列,包含空串。本题的关键在于正确应用子串数目公式:
- 非空子串数目为 $\frac{n(n+1)}{2}$,其中 $n$ 是字符串长度。
- 包含空串时总数目需加1。
-
确定字符串长度
字符串Software的长度为 $n = 8$。 -
计算非空子串数目
根据公式:
$S = \frac{n(n+1)}{2} = \frac{8 \times 9}{2} = 36$ -
包含空串的总数目
非空子串有36个,加上空串后总数为:
$36 + 1 = 37$ -
选项分析
- A. 8:仅长度为1的子串数目,错误。
- B. 9:无实际意义,错误。
- C. 36:非空子串数目,未包含空串,错误。
- D. 37:包含空串的总数目,正确。