题目信息

题目类型
入门级
题目年份
2021
题目题型
综合题
关 键 词

题目题干

第17 题
  1.  #include <iostream> 
  2.  
  3.  #include <string> 
  4.  
  5.  using namespace std; 
  6.  
  7.   
  8.  
  9.  char base[64]; 
  10.  
  11.  char table[256]; 
  12.  
  13.  
  14.  
  15.  void init() 
  16.  
  17.  { 
  18.  
  19. for (int i = 0; i < 26; i++) base[i] = 'A' + i; 
  20.  
  21.  for (int i = 0; i < 26; i++) base[26 + i] = 'a' + i; 
  22.  
  23.  for (int i = 0; i < 10; i++) base[52 + i] = '0' + i; 
  24.  
  25.  base[62] = '+', base[63] = '/'
  26.  
  27.  
  28.  
  29.  for (int i = 0; i < 256; i++) table[i] = 0xff; 
  30.  
  31.  for (int i = 0; i < 64; i++) table[base[i]] = i; 
  32.  
  33.  table['='] = 0; 
  34.  
  35.  } 
  36.  
  37.  
  38.  
  39.  string decode(string str) 
  40.  
  41.  { 
  42.  
  43.  string ret; 
  44.  
  45.  int i; 
  46.  
  47. for (i = 0; i < str.size(); i += 4) { 
  48.  
  49. ret += table[str[i]] << 2 | table[str[i + 1]] >> 4; 
  50.  
  51. if (str[i + 2] != '='
  52.  
  53.  ret += (table[str[i + 1]] & 0x0f) << 4 | table[str[i +  
  54.  
  55. 2]] >> 2; 
  56.  
  57.  if (str[i + 3] != '='
  58.  
  59.  ret += table[str[i + 2]] << 6 | table[str[i + 3]]; 
  60.  
  61.  } 
  62.  
  63. return ret; 
  64.  
  65.  } 
  66.  
  67.  
  68.  
  69.  int main() 
  70.  
  71.  { 
  72.  
  73.  init(); 
  74.  
  75.  cout << int(table[0]) << endl; 
  76.  
  77.   
  78.  
  79.  string str; 
  80.  
  81.  cin >> str; 
  82.  
  83. cout << decode(str) << endl; 
  84.  
  85.  return 0; 
  86.  
  87.  } 
判断

输出的第二行一定是由小写字母、大写字母、数字和“+”、“/”、“=”构成的字符串。( )Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.正确
B.错误
 
判断

可能存在输入不同,但输出的第二行相同的情形。( )Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.正确
B.错误
 
判断

输出的第一行为“-1”。( )Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.正确
B.错误
 
 单选

设输入字符串长度为 n,decode 函数的时间复杂度为( )。Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.第17 题  #include <iostream>     #include <string>     using namespace std;          char base[64];     char table[256];         void init()     {    for (int i = 0; i < 26; i++) base[i] = 'A' + i;     for (int i = 0; i < 26; i++) base[26 + i] = 'a' + i;     for (int i = 0; i < 10; i++) base[52 + i] = '0' + i;     base[62] = '+', base[63] = '/';         for (int i = 0; i < 256; i++) table[i] = 0xff;     for (int i = 0; i < 64; i++) table[base[i]] = i;     table['='] = 0;     }         string decode(string str)     {     string ret;     int i;    for (i = 0; i < str.size(); i += 4) {    ret += table[str[i]] << 2 | table[str[i + 1]] >> 4;    if (str[i + 2] != '=')     ret += (table[str[i + 1]] & 0x0f) << 4 | table[str[i +     2]] >> 2;     if (str[i + 3] != '=')     ret += table[str[i + 2]] << 6 | table[str[i + 3]];     }    return ret;     }         int main()     {     init();     cout << int(table[0]) << endl;          string str;     cin >> str;    cout << decode(str) << endl;     return 0;     }  判断 输出的第二行一定是由小写字母、大写字母、数字和“+”、“/”、“=”构成的字符串。( )  A.正确 B.错误  判断 可能存在输入不同,但输出的第二行相同的情形。( )  A.正确 B.错误  判断 输出的第一行为“-1”。( )  A.正确 B.错误   单选 设输入字符串长度为 n,decode 函数的时间复杂度为( )。  A. B.Θ(n) C.Θ(n log n) D.Θ(n2)  第26题 单选 当输入为“Y3Nx”时,输出的第二行为( )。  A.“csp” B.“csq” C.“CSP” D.“Csp”  第27题 单选 当输入为“Y2NmIDIwMjE=”时,输出的第二行为( )。  A.“ccf2021” B.“ccf2022” C.“ccf 2021” D.“ccf 2022”
B.Θ(n)
C.Θ(n log n)
D.Θ(n2)
 
第26题 单选

当输入为“Y3Nx”时,输出的第二行为( )。Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.“csp”
B.“csq”
C.“CSP”
D.“Csp”
 
第27题 单选

当输入为“Y2NmIDIwMjE=”时,输出的第二行为( )。Ori100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A.“ccf2021”
B.“ccf2022”
C.“ccf 2021”
D.“ccf 2022”
 
 

答案解析

相关题目

第 18 #include <iostream>     using namespace std;        const int n = 100000;    const int N 
第17 题  #include <iostream>     #include <string>     using namespace std;          char 
第 1题  #include <iostream>     using namespace std;     int n;     int a[1000];         int f(i
第 15 题 有四个人要从 A 点坐一条船过河到 B 点,船一开始在 A 点。该船一次最多可坐两个人。 已知这四个人中每个人独自坐船的过河时间分别为1,2,4,8,且两个人坐船的过河时间为两人独自过河
第 14 题 以 a为起点,对下边的无向图进行深度优先遍历,则 b,c,d,e 四个点中有可能作为最后一个遍历到的点的个数为( )。   A. 1  B. 2  C. 3  D. 4
第 13 题 考虑如下递归算法 solve(n)         if n<=1 return 1          else if n>=5 return n*solve(n-2) 
第 12 题 由 1,1,2,2,31,1,2,2,3 这五个数字组成不同的三位数有( )种。  A. 18  B. 15  C. 12  D. 24
第 11 题 在数据压缩编码中的哈夫曼编码方法,在本质上是一种( )的策略。  A. 枚举  B. 贪心  C. 递归  D. 动态规划
第 10 题 66 个人,两个人组一队,总共组成三队,不区分队伍的编号。不同的组队情况有( )种。  A. 10  B. 15  C. 30  D. 20
第 9 题 表达式a*(b+c)*d 的后缀表达式为( ),其中 * 和 +  是运算符。  A. **a+bcd  B. abc+*d*  C. abc+d**  D. *a*+bcd

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢