共63道题,当前是第58

Description

1 	#include < iostream>
2 	#include < cstring>
3 	using namespace std;
4 	int main(){
5		int t[256];
6		char s[10];
7		int i;
8		scanf("%s", s);
9		for (i = 0; i < 256; i++) t[i] = 0;
10		for (i = 0; i < strlen(s); i++) t[s[i]]++;
11		for (i = 0; i < strlen(s); i++)
12			if (t[s[i]] == 1){
13				cout << s[i] << endl;
14				return 0;
15			}
16		cout << "no" << endl;
17		return 0;
18	}

1. F。程序会将读入的字符串中出现次数等于 $1$ 的第一个字符输出,如果没有则输出 no

2. T。如果删掉这部分语句的话,会导致数组 $t$ 中的元素不一定初始化为 $0$,导致最终结果出错。

3. F。

4. F。

5. T。最短的符合要求的字符串为 $a$ $g$ 每个字符出现两次,总长度为 $7 * 2 = 14$

6. C。数组 $s$ 的长度为 $10$,最后一位需要保存 `\0` ,因此数组 $s$ 能正确输入并处理的最大长度为 $10 1 = 9$

Question

程序会将读入的字符串中出现次数等于 $1$ 的字符依次输出。( )

将程序中的 `for (i = 0; i < 256; i++) t[i] = 0;` 删掉可能会影响程序的正确性。( )

当程序读入字符串的内容是 `xyzxyw` 时,程序的输出结果是 $w$ 。( )

对于一组输入数据 `abc?ac` ,如果希望程序的输出结果为 $b$ ,则 $?$ 处应替换为 $b$ 。( )

若输入的字符串中 $a$ 到 $g$ 这 $7$ 种字符均至少出现一次,如果希望输出结果为 $no$ ,则输入的字符串长度至少为 $14$。( )

若输入的字符串中 $a$ 到 $g$ 这 $7$ 种字符均至少出现一次,如果希望输出结果为 `no` ,则输入的字符串长度至少为 $14$。( )