共63道题,当前是第58题
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$。
程序会将读入的字符串中出现次数等于 $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$。( )