信息学奥赛初赛天天练-45-CSP-J2020阅读程序1-字符数组默认值、字符串长度、字符数组长度、ASCII码应用

PDF文档公众号回复关键字:20240712

在这里插入图片描述

2020 CSP-J 阅读程序1

1阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ×。除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)

01 #include <cstdlib>
02 #include <iostream>
03 using namespace std;
04 
05 char encoder[26] = {'C','S','P',0};
06 char decoder[26];
07
08 string st;
09 
10 int main()  {
11   int k = 0;
12   for (int i = 0; i < 26; ++i)
13     if (encoder[i] != 0) ++k;
14   for (char x ='A'; x <= 'Z'; ++x) {
15     bool flag = true;
16     for (int i = 0; i < 26; ++i)
17       if (encoder[i] ==x) {
18         flag = false;
19         break;
20      }
21      if (flag) {
22        encoder[k]= x;
23        ++k;
24      }
25  }
26  for (int i = 0; i < 26; ++i)
27     decoder[encoder[i]- 'A'] = i + 'A';
28  cin >> st;
29  for (int i = 0; i < st.length( ); ++i)
30    st[i] = decoder[st[i] -'A'];
31  cout << st;
32  return 0;
33 }

判断题

16.输入的字符串应当只由大写字母组成,否则在访问数组时可能越界( ) [1.5分]

17.若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样( ) [1.5分]

18.将第 12 行的“i < 26”改为“i < 16”,程序运行结果不会改变( ) [1.5分]

19.将第 26 行的"i < 26”改为“i < 16”,程序运行结果不会改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值