[C/C++] 字符串错题集

1.

答案:A

这里考查转义字符,注意 \\ 表示字符 \
\123表示字符 {
\t 表示制表符
这些都是一个字符。

 

2.

答案C
先不看有没有重复的,共5个字母,有5×4×3×2×1 = 120种组合.
然后有两个重复的i,所以应该除以2,120 / 2 = 60,所以答案C
 
3.
答案:n ( n + 1 ) / 2 + 1
这么想就很简单:
长度为 1 的字符串 n 个
长度为 2 的 n-1 个
长度为 3 的 n-2 个
...
长度为 n 的 1 个
然后 n+(n-1)+(n-2)+...+1 =n(n+1)/2
另外再加上一个空字符串,所以是n ( n + 1 ) / 2 + 1
 
4.
字符串的两种最基本的存储方式是顺序存储方式和链接存储方式,字符串或串(String)是由零个或多个字符组成的有限序列,它是编程语言中表示文本的数据类型。通常以串的整体作为操作对象。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
 
5.
答案:C
概念解释:广义表L=(A,B,C),表头是A,表尾是(B,C),这是定义。
tail()表示取字符串的尾部,head()表示取字符串的头,concat()表示字符串拼接。
取两次尾部一次头部,然后合并,答案是C。
 
6.

 ???

 

7.

答案:n*n/2+n/2-1

n个字符取连续子串,只考虑子串的开头和结尾两个点的选择,相当于从n+1个分割点中选两个进行分割,一共是(n+1)n/2,再减掉字符串本身,答案是n*n/2+n/2-1。

 

8.

答案:5次,6次
1.将每个字符现在的位置与其排序后的位置连一条单向边,最小两两交换次数为:字符总数-连接后形成的环数(包括自环),gbfcdae中b为自环,而a->g->e->d->c->f->a为另一个环,所以最小交换次数=7-2=5次;
2.最坏情况下是所有字符形成一个环,如gabcdef需要至少6次交换才能变为abcdefg。
 
 
posted @ 2017-03-26 21:49  Strawberry丶  阅读(282)  评论(0编辑  收藏  举报