通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2021] 中有题目如下:
第1题
#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 encode(string str) { string ret; int i; for (i = 0; i + 3 <= str.size(); i += 3) { ret += base[str[i] >> 2]; ret += base[(str[i] & 0x03) << 4 | str[i + 1] >> 4]; ret += base[(str[i + 1] & 0x0f) << 2 | str[i + 2] >> 6]; ret += base[str[i + 2] & 0x3f]; } if (i < str.size()) { ret += base[str[i] >> 2]; if (i + 1 == str.size()) { ret += base[(str[i] & 0x03) << 4]; ret += "=="; } else { ret += base[(str[i] & 0x03) << 4 | str[i + 1] >> 4]; ret += base[(str[i + 1] & 0x0f) << 2]; ret += "="; } } return ret; } 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; int opt; string str; cin >> opt >> str; cout << (opt ? decode(str) : encode(str)) << endl; return 0; }
假设输入总是合法的(一个整数和一个不含空白字符的字符串,用空格隔开),对于任意不含空白字符的字符串str1,先执行程序输入“0 str1”,得到输出的第二行记为str2;再执行程序输入“1 str2”,输出的第二行必为str1。
正确
错误
所属试卷:CSP-S1提高级初赛试卷[2021]
在函数中,可以用auto、extern、registe
下列关于函数的说法中,正确的是
以下关于文件的描述中,错误的是( )。
在下列链表中,能够从任意一个结点出发遍历访问到所有结点
有以下程序:程序运行后的输出结果是( )。
有以下程序:已知字母A的ASCII码值为65,程序运行
以下叙述中正确的是。
已知函数定义def demo(x,y,op): ret
己知x为非空列表,那么表达式x.sort==sor
下面程序的功能是完成用100元人民币换成1元、2元、5
下面程序功能是从键盘输入一行字符,统计其中有多少个单词
字符串“ab\n\012\\\"”的长度是______
Linux内核主要由哪几部分组成?每部分的作用?参考答
什么是位置变量?shell的变量类型有哪些种?答:位置
smallint数据类型占用的字节数为 。
MySQL客户端程序 _____用于数据库的备份。
在MySQL中专门用于删除用户账号的语句是 _____
双向链表中在某个结点P之前插入一个结点,其时间复杂度为
Web 浏览器向侦听标准端口的 Web 服务器发出请求
若机器M的主频为1.5Ghz,在M上执行程序p的指令条
则x的值为_____。
结构体是不同数据类型的数据集合,作为数据类型,必须先说
功能:编写函数fun(int m)求1000以内(不包
宏名有类型,其参数也有类型。
下列定义变量的语句中错误的是
给定程序中,函数fun的功能是根据形参i的值返回某个函
每个学校有一名校长,且不同学校的校长可以是同一人,则实
输入 1:4 3输出 1:____输入 2:2017
以下排序算法在最坏情况下时间复杂度最优的有( )。
(过河问题) 在一个月黑风高的夜晚,有一群人在河的右岸
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2