题库 模拟押题卷 题目列表 #include <stdio.h> #include <st...
组合题
#include <stdio.h>
#include <string.h>

char base[64];
char table[256];
char str[256];
char ans[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;
}

void decode(char *str) {
	char *ret = ans;
	int i, len = strlen(str);
	for (i = 0; i < len; 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]];
	}
}

int main() {
	init();
	printf("%d\n", (int)table[0]);

	scanf("%s", str);
	decode(str);
	printf("%s\n", ans);
	return 0;
}

判断题

1)输出的第二行一定是由小写字母、大写字母、数字和”+”、”/”、”=”构成的字符

串。()

2.)可能存在输入不同,但输出的第二行相同的情形。()

3)输出的第一行为”-1”。()

单选题

4)设输入字符串长度为n,decode函数的时间复杂度为()

5)当输入为”Y3Nx”时,输出的第二行为()

6)当输入为”Y2NmIDIwMjE=”时,输出的第二行为()

1.

A.正确

B.错误

2.

A.正确

B.错误

3.

A.正确

B.错误

4.

A.O(√n)

B.O(n)

C.O(n log n)

D.O(n^2)

5.

A.”csp”

B.“csq”

C.”CSP”

D.“Csp”

6.

A.”ccf2021”

B.”ccf2022”

C.”ccf 2021”

D.”ccf 2022”

第一空(1.5分):___________________________

第二空(1.5分):___________________________

第三空(1.5分):___________________________

第四空(3分):___________________________

第五空(3分):___________________________

第六空(3.5分):___________________________


第 1 题 填空
第 2 题 填空
第 3 题 填空
第 4 题 填空
第 5 题 填空
第 6 题 填空
题目信息
阅读程序
-
正确率
0
评论
49
点击
QQ
微信