2293 . 综合题

阅读程序【SCP 2021 第一轮(初赛)模拟1】

#include <cstdio>
#include <cstring>

using namespace std;

char s[10000];
int cnt[26];

int main() {
 scanf("%s", s);
 for (int i = 0; i < strlen(s); ++i) {
  if (cnt[s[i] - 'a'] <= 50) {
   s[strlen(s)] = s[i];
  }
 ++cnt[s[i] - 'a'];
 }
 printf("%s\n", s);
 return 0;
}

假设设初始时输入的字符串长度不超过 500,且不是空串。完成下面的判断题和单选题。

1 . (判断题)

将程序第 11 行中的 ++i 改为 i++,程序运行结果不会改变( )

2 . (判断题)

将程序第 11 行改为 for(int i=0,len=strlen(s);i < len;++i), 程序的运行结果不会改变,同时程序的运行效率将得到提升( )

3 . (判断题)

对于任意一个出现了 $\texttt a$ 到 $\texttt z$ 中所有的字符、且各字符出现的次数不小于 50 的字符串 $b$,总存在一个字符串 $a$,使得将字符串 $a$ 输入程序后的运行结果为字符串 $b$。( )

4 . (判断题)

程序的输出字符串长度一定不小于 $1300$(注:$1300=50\times 26$)。( )

5 . (单选题)

设输入字符串长度为 $x (1\leq x\leq 500)$,输出字符串长度为 $y$,则关于 $x$ 和 $y$ 的大小关系正确的是( )。

6 . (单选题)

设字符串 $w$ 为 $\texttt{abcd...z}$,即从 $\texttt a$ 到 $\texttt z$ 在 $w$ 中依次出现一次,共 $26$ 个字符。若输入为 $w$ 重复出现两次的结果(即 $\texttt{abcdefg...zabcdefg...z}$,则输出结果为( )。