2020年计挑赛往届真题(C++)
因为17号要开赛了,甚至是用云端编辑器,debuff拉满,只能临时抱佛脚了
各个选择题的选择项我就不标出来了,默认ABCD排,手打太麻烦了
目录
单选题:
1.阅读以下语句:double m=0;for(int i=3;i>0;i--)m+=1/i;将m保留三位小数输出,结果为()
2.下列选项中,不是C++关键字的是()
3.下列选项中,运算结果的数据类型为double的选项是()
4.下列运算结果的数据类型是int的选项为()
5. 关于C++数据类型,下列描述错误的是()
6."阅读以下代码:int main(){ int x=100; cout<<__①__<<<__②__<<"">
8.关于C++输入输出,下列描述错误的是()
9.若有int a;char b;string c;cin>>a>>b>>c;则下列输入形式错误的是()
10.下列位运算表达式的结果为2的选项是()
11.对于32位机,已知int x=1;下列选项中错误的是()
x << 36 的值与 x << 4 相等
~(-(x + 1000)) 的值等于 1000
-1的二进制为32个1
x << 31 + 1 的值为负数
12.下列运算符中,不属于关系运算符的是()
13.设char型变量x中的值为1010 1010,则表达式(x+5)^(-1)的计算结果的二进制为()
14.关于位运算,下列描述正确的是()
操作题
1."Excel表列名称由字母A~Z组成,列字母的规律如下:A、B、C.....Z、AA、AB......AZ、BA、BB.......ZZZZY、ZZZZZ.......输入:输入包含两个列名称字符串,长度均小于等于5。输出:输出两个列名称之间共有多少列样例输入:AA AZ样例输出:24"
代码:
2."九键拼音中数字与英文字母成对应关系:2--abc, 3-def, 4-ghi, 5--jkl, 6--mno, 7--pqrs, 8--tuv, 9--wxyz。输入:输入一个由英文小写字母组成的字符串(长度<=100000)输出:输出其对应的九键数字。样例输入:fwgeta样例输出:394382"
代码:
3."给定两个字符串str1和str2(长度均<=10000),问字符串str2内每个字符是否能在字符串str1内找到输入:第一行输入字符串str1第二行输入字符串str2输出:若能找到,则输出‘Y’,否则输出‘N’;样例输入:abdcdewrtde wbaqx样例输出:YYYNN"
代码:
4."有N个正整数,求这N个正整数两两之间的最大公约数之积输入:第一行输入正整数N(N<=100)第二行有N个正整数(<10000)输出:输出这N个正整数两两之间的最大公约数之积,结果对1000000007取模样例输入:46 8 9 10 样例输出:24"
代码:
单选题:
1.阅读以下语句:double m=0;for(int i=3;i>0;i--)m+=1/i;将m保留三位小数输出,结果为()
A 0
B 1
C1.833
D6
答案:B
解析:涉及到了数据类型的特点,i是int类型,所以不能有小数,所以计算1/i这个过程中,三次计算的结果分别是0,0,1。因此,m的结果也就是在0,0,1。最终结果也就是1
2.下列选项中,不是C++关键字的是()
namespace
typename
main
class
答案:C
解析:
解释:
- namespace 是 C++ 关键字,用于定义命名空间。
- typename 是 C++ 关键字,用于声明类型名称。
- main 不是关键字,它是 C++ 程序的入口函数名称。
- class 是 C++ 关键字,用于定义类。
3.下列选项中,运算结果的数据类型为double的选项是()
A'+'B'-'C'
2-3.0*0
(int)1.0+5
10LL-10
答案:B
解析:这里涉及的是数据类型的转换,
解释:
- A'+'B'-'C':此表达式中,字符常量 'A'、'B'、'C' 会先转换为它们的 ASCII 值,这些都是整数运算,结果是整数类型。
- 2-3.0*0:此表达式中,3.0 是一个 double 类型的常量,乘法运算会导致整个表达式的结果类型为 double。即使是 0,运算的结果也会保持为 double 类型。
- (int)1.0+5:这里将 1.0 强制类型转换为整数,结果是整数类型,然后加上 5,最终结果也是整数类型。
- 10LL-10:这里使用的是长长整型(long long int),减去一个整数 10,结果仍然是长长整型。
4.下列运算结果的数据类型是int的选项为()
1
1LL
'A'
'A'+1
答案:D
解析:这里涉及的同为数据类型转换,
- 1:这是一个整数常量,数据类型为
int,但是我想的是这个过程并没有运算,所以不符合题意 - 1LL:这是一个
long long int类型的常量,数据类型是long long int,而不是int。 - 'A':字符常量
'A'没有表达式的话就是默认的char类型。 - 'A' + 1:这个表达式首先会将
'A'转换为整数值 65,然后与 1 相加,结果是 66,仍然是int类型。
5. 关于C++数据类型,下列描述错误的是()
相同数据类型所占字节数在不同系统中可能不同
枚举类型是C++中的一种派生数据类型
对于小数1.0,其默认数据类型是float
数据类型转换有自动转换、赋值转换、强制转换
答案:C
解析:对于小数 1.0,C++ 默认的数据类型是 double,而不是 float。这是因为浮点数常量默认会被视为 double 类型,除非明确指定 f 后缀。例如:
1.0是double类型。1.0f是float类型。
6."阅读以下代码:
int main()
{
int x=100;
cout<<__①__<<x<<__②__<<"" ""<<x;
return 0;
},若程序输出结果为64 144,则下列选项中描述正确的是()"
可将①补全为oct,②补全为hex,输出结果为64 144
100的二进制为11000010
cout是一个ostream类的对象
变量x与0x144相等
答案:C
解析:对于A,答案反了,oct是八进制,答案是144,hex是16进制,答案是64
对于B:单纯的算错了
C:属于 ostream 类的实例。ostream 类用于输出数据。正确
D:0x是16进制的意思,这里算出来就是324,和选项A对应
7. 下列选项中与控制输出精度有关的函数为()
setf()
width()
setprecision()
fill()
答案:C
解析:认单词
setf():用于设置输出格式标志,例如setf(ios::fixed)可以控制输出为定点格式,但它本身并不直接控制精度。width():设置输出的最小宽度,但不控制精度。它定义输出内容的最小宽度,内容不足时会填充空格。setprecision():用于设置浮点数输出的精度,控制小数点后位数。fill():用于设置填充字符,常用于设置width()中空白位置的填充字符,而不是控制精度。
8.关于C++输入输出,下列描述错误的是()
getline()可以接收一个字符串,包括空格
ofstream类的对象可以输出到文件
cin.getline()和getline()是一样的函数
cerr和clog流对象都是标准错误流,但存在一些区别
答案:C
解析:cin.getline() 是 istream 类的成员函数,专门用于从标准输入流读取一行字符串。而 getline()(不带 cin)是全局函数,通常用于读取字符串数据,无论是从标准输入流还是从其他输入流(如文件流)中读取。
9.若有int a;char b;string c;cin>>a>>b>>c;则下列输入形式错误的是()
1<回车>a<回车>abc
1 a abc
1a abc
"1,a,abc"
答案:D
解析:char后面不是空格的任何输入都会算成string类型
10.下列位运算表达式的结果为2的选项是()
~(-2)&2+1
5^6+1
4%3*7/2
4>=5?1+2:2+3
答案:选B
解析:5 ^ 6 + 1:
- 先计算
6 + 1:6 + 1 = 7 - 然后表达式变为:
5 ^ 7 - 计算
5 ^ 7:5的二进制是0101,7的二进制是0111,按位异或:0101 ^ 0111 = 0010,即结果是2。
11.对于32位机,已知int x=1;下列选项中错误的是()
x<<36的值与x<<4的相等
~(-(x+1000))的值等于1000
-1的二进制为32个1
x<<31+1的值为负数
答案:D
x << 36 的值与 x << 4 相等
- 对于32位整数,位移的最大有效范围是 0 到 31。
- 位移操作的位数实际上是对32取模,因此
x << 36等价于x << (36 % 32),也就是x << 4。 - 这个选项是正确的,因为
36 % 32 = 4,所以x << 36和x << 4是相等的。
~(-(x + 1000)) 的值等于 1000
- 先计算
x + 1000:x = 1,所以x + 1000 = 1001。 - 对
1001取负值:-1001。 - 然后对
-1001进行按位取反(~运算符):按位取反相当于将每一位的0和1反转,即~(-1001)会得到1000,这是因为按位取反后,我们得到的是-1001的补码表示反转的结果。 - 这个选项是正确的,因为
~(-(x + 1000)) = 1000。
-1的二进制为32个1
- 在32位机器上,
-1的二进制表示是补码表示,补码表示中,-1的二进制是11111111 11111111 11111111 11111111,即 32个1。 - 这个选项是正确的,因为
-1的二进制表示确实是32个1。
x << 31 + 1 的值为负数
- 优先级问题:运算符优先级中,
<<(位移操作符)优先级高于+,所以x << 31 + 1会被解析为x << (31 + 1),也就是x << 32。 - 对于32位整数,位移32位会将值移动回原来的位置(即
x << 32实际上等价于x)。所以x << 32结果是1。 - 这个选项是错误的,因为
x << 31 + 1的值是1,而不是负数
12.下列运算符中,不属于关系运算符的是()
!=
==
<<=
<=
答案:C
解析:c选项就是<<,位移运算符,
13.设char型变量x中的值为1010 1010,则表达式(x+5)^(-1)的计算结果的二进制为()
0101 0000
1010 1111
1111 1111
0101 0001
答案:A
解析:计算就是175的二进制对-1进行异或运算,
14.关于位运算,下列描述正确的是()
位运算适用于所有基本数据类型
位运算的效率普遍较低
~(-3)的值为2
符号位不参与位运算
答案:C
解析:
-
位运算适用于所有基本数据类型:
- 错误。位运算通常适用于整数类型(如
int,char,long等),而不适用于浮点型(如float,double)等数据类型。浮点数在内存中的存储方式与整数不同,因此无法直接进行位运算。
- 错误。位运算通常适用于整数类型(如
-
位运算的效率普遍较低:
- 错误。位运算实际上是非常高效的,通常比加法、乘法等算术运算要快,因为它直接操作位级数据,不涉及复杂的算术计算。所以这句话是错误的,位运算的效率通常较高。
-
符号位不参与位运算:
- 错误。符号位是会参与位运算的。在二进制补码表示法中,符号位实际上也是一个位,并且在进行位运算(如按位与、按位或、按位异或等)时,符号位也会参与运算。因此,符号位会影响运算的结果。
15.若有一个3*3的int型二维数组n,第一、二、三行分别存储数据为{1,2,3}、{4,5,6}、{7,8,9},有一个int型指针p,p=n[0];则(*(p+2)+2)的值为()
2
3
4
5
答案:选D
解析:
p是指向n[0][0]的指针,也就是说p当前指向数组n[0]的第一个元素(值为 1)。p + 2会使指针向后偏移两个元素(即跳过n[0][0]和n[0][1],指向n[0][2],即值为3)。*(p + 2)解引用该指针,得到值为3(即n[0][2]的值)。- 然后,
*(p + 2) + 2就是3 + 2 = 5。
操作题
必须要提的是,这是我第一次参加这个计挑赛,对比赛用的云端编辑器一点了解都没有
1."Excel表列名称由字母A~Z组成,列字母的规律如下:
A、B、C.....Z、AA、AB......AZ、BA、BB.......ZZZZY、ZZZZZ.......
输入:
输入包含两个列名称字符串,长度均小于等于5。
输出:
输出两个列名称之间共有多少列
样例输入:
AA AZ
样例输出:
24"
代码:
#include<bits/stdc++.h>using namespace std;int satoi(string s){int num = 0;for(int i =0;i<s.size();i++){num *=26;num+= s[i] - 'A'+1;}return num;
}int main()
{string ar1,ar2;cin>>ar1>>ar2;int num1 =satoi(ar1);int num2 = satoi(ar2);cout<<num2-num1-1<<endl;return 0;
}
2."九键拼音中数字与英文字母成对应关系:2--abc, 3-def, 4-ghi, 5--jkl, 6--mno, 7--pqrs, 8--tuv, 9--wxyz。
输入:
输入一个由英文小写字母组成的字符串(长度<=100000)
输出:
输出其对应的九键数字。
样例输入:
fwgeta
样例输出:
394382"
代码:
#include<bits/stdc++.h>using namespace std;int main()
{map<char,int>ar;int len =0;int num =2;for(char a = 'a';a<='o';a++){ar[a]=num;len++;if(len==3){num++;len=0;}}for(char a = 'p';a<='z';a++){ar[a]=num;len++;if(len==4){num++;len=0;}}ar['w']=9;string s;cin>>s;const char* s1 = s.c_str();for(int i=0;i<s.size();i++){cout<<ar[s1[i]];}return 0;
}
3."给定两个字符串str1和str2(长度均<=10000),问字符串str2内每个字符是否能在字符串str1内找到
输入:
第一行输入字符串str1
第二行输入字符串str2
输出:
若能找到,则输出‘Y’,否则输出‘N’;
样例输入:
abdcdewrtde
wbaqx
样例输出:
YYYNN"
代码:
#include<bits/stdc++.h>using namespace std;int main()
{string str1,str2;cin>>str1>>str2;for(int i=0;i<str2.size();i++){if(str1.find(str2[i])!=string::npos){cout<<"Y";}elsecout<<"N";}return 0;
}
4."有N个正整数,求这N个正整数两两之间的最大公约数之积
输入:
第一行输入正整数N(N<=100)
第二行有N个正整数(<10000)
输出:
输出这N个正整数两两之间的最大公约数之积,结果对1000000007取模
样例输入:
4
6 8 9 10
样例输出:
24"
代码:
#include<bits/stdc++.h>using namespace std;const int n =1000000007;int main()
{int res = 1;int N;cin>>N;vector<int>ar(N+1);for(int i=0;i<N;i++){cin>>ar[i];}for(int i=0;i<N-1;i++){for(int j=i+1;j<N;j++){res*=__gcd(ar[i],ar[j]);}}cout<<res%n;return 0;
}
相关文章:
2020年计挑赛往届真题(C++)
因为17号要开赛了,甚至是用云端编辑器,debuff拉满,只能临时抱佛脚了 各个选择题的选择项我就不标出来了,默认ABCD排,手打太麻烦了 目录 单选题: 1.阅读以下语句:double m0;for(int i3;i>0;i--)m1/i;…...
ES6进阶知识二
一、promise方法的案例 Promise对象通过new Promise()语法创建,它接受一个函数作为参数,该函数接受两个参数:resolve和reject。resolve表示异步操作成功,reject表示异步操作失败。 案例:异步加载图片 const loadIma…...
大语言模型通用能力排行榜(2024年10月8日更新)
数据来源SuperCLUE 榜单数据为通用能力排行榜 排名 模型名称 机构 总分 理科 文科 Hard 使用方式 发布日期 - o1-preview OpenAI 75.85 86.07 76.6 64.89 API 2024年11月8日 - Claude 3.5 Sonnet(20241022) Anthropic 70.88 82.4…...
第六节、Docker 方式部署指南 github 上项目 mkdocs-material
一、简介 MkDocs 可以同时编译多个 markdown 文件,形成书籍一样的文件。有多种主题供你选择,很适合项目使用。 MkDocs 是快速,简单和华丽的静态网站生成器,可以构建项目文档。文档源文件在 Markdown 编写,使用单个 YAML 配置文件配置。 MkDocs—markdown项目文档工具,…...
【MySQL】MySQL中的函数之JSON_REPLACE
在 MySQL 中,JSON_REPLACE() 函数用于在 JSON 文档中替换现有的值。如果指定的路径不存在,则 JSON_REPLACE() 不会修改 JSON 文档。如果需要添加新的键值对,可以使用 JSON_SET() 函数。 基本语法 JSON_REPLACE(json_doc, path, val[, path,…...
【大数据学习 | HBASE高级】hbase的API操作
首先引入hbase的依赖 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>2.4.13</version></dependency><dependency><groupId>org.slf4j<…...
C++(Qt)软件调试---内存泄漏分析工具MTuner (25)
C(Qt)软件调试—内存泄漏分析工具MTuner (25) 文章目录 C(Qt)软件调试---内存泄漏分析工具MTuner (25)[toc]1、概述🐜2、下载MTuner🪲3、使用MTuner分析qt程序内存泄漏🦧4、相关地址ὁ…...
python核心语法
目录 核⼼语法第⼀节 变量0.变量名规则1.下⾯这些都是不合法的变量名2.关键字3.变量赋值4.变量的销毁 第⼆节 数据类型0.数值1.字符串2.布尔值(boolean, bool)3.空值 None 核⼼语法 第⼀节 变量 变量的定义变量就是可变的量,对于⼀些有可能会经常变化的数据&#…...
MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究
全文链接:https://tecdat.cn/?p38258 在语音处理领域,对语音情感的分类是一个重要的研究方向。本文将介绍如何通过结合二维卷积神经网络(2 - D CNN)和长短期记忆网络(LSTM)构建一个用于语音分类任务的网络…...
智能网页内容截图工具:AI助力内容提取与可视化
我们每天都会接触到大量的网页内容。然而,如何从这些内容中快速提取关键信息,并有效地进行整理和分享,一直是困扰我们的问题。本文将介绍一款我近期完成的基于AI技术的智能网页内容截图工具,它能够自动分析网页内容,截…...
Axure设计之文本编辑器制作教程
文本编辑器是一个功能强大的工具,允许用户在图形界面中创建和编辑文本的格式和布局,如字体样式、大小、颜色、对齐方式等,在Web端实际项目中,文本编辑器的使用非常频繁。以下是在Axure中模拟web端富文本编辑器,来制作文…...
【MyBatis源码】深入分析TypeHandler原理和源码
🎮 作者主页:点击 🎁 完整专栏和代码:点击 🏡 博客主页:点击 文章目录 原始 JDBC 存在的问题自定义 TypeHandler 实现TypeHandler详解BaseTypeHandler类TypeReference类型参考器43个类型处理器类型注册表&a…...
号卡分销系统,号卡系统,物联网卡系统源码安装教程
号卡分销系统,号卡系统,物联网卡系统,,实现的高性能(PHP协程、PHP微服务)、高灵活性、前后端分离(后台),PHP 持久化框架,助力管理系统敏捷开发,长期持续更新中。 主要特性 基于Auth验证的权限…...
常用命令之LinuxOracleHivePython
1. 用户改密 passwd app_adm chage -l app_adm passwd -x 90 app_adm -> 执行操作后,app_adm用户的密码时间改为90天有效期--查看该euser用户过期信息使用chage命令 --chage的参数包括 ---m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。 ---M 密码…...
从dos上传shell脚本文件到Linux、麒麟执行报错“/bin/bash^M:解释器错误:没有那个文件或目录”
[rootkylin tmp]#./online_update_wars-1.3.0.sh ba51:./online_update_wars-1.3.0.sh:/bin/bash^M:解释器错误:没有那个文件或目录 使用scp命令上传文件到麒麟系统,执行shell脚本时报错 “/bin/bash^M:解释器错误:没有那个文件或目录” 解决方法: 执行…...
使用 Go 实现将任何网页转化为 PDF
在许多应用场景中,可能需要将网页内容转化为 PDF 格式,比如保存网页内容、生成报告、或者创建网站截图。使用 Go 编程语言,结合一些现有的库,可以非常方便地实现这一功能。本文将带你一步一步地介绍如何使用 Go 语言将任何网页转换…...
文件操作和IO
目录 一. 文件预备知识 1. 硬盘 2. 文件 (1) 概念 (2) 文件路径 (3) 文件类型 二. 文件操作 1. 文件系统操作 [1] File常见的构造方法 [2] File的常用方法 [3] 查看某目录下所有的目录和文件 2. 文件内容操作 (1) 打开文件 (2) 关闭文件 (3) 读文件 (4) 写文件 …...
【C++滑动窗口】1248. 统计「优美子数组」|1623
本文涉及的基础知识点 C算法:滑动窗口及双指针总结 LeetCode1248. 统计「优美子数组」 给你一个整数数组 nums 和一个整数 k。如果某个连续子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中 「优美子数组」 的数…...
C语言导航 4.1语法基础
第四章 顺序结构程序设计 第一节 语法基础 语句概念 语句详解 程序详解 4.1.1语句概念 说明:构成高级语言源程序的基本单位。 特征:在C语言中语句以分号作为结束标志。 分类: (1)简单语句:空语句、…...
使用 Python 和 Py2Neo 构建 Neo4j 管理脚本
Neo4j 是一个强大的图数据库,适合处理复杂的关系型数据。借助 Python 的 py2neo 库,我们可以快速实现对 Neo4j 数据库的管理和操作。本文介绍一个功能丰富的 Python 脚本,帮助用户轻松管理 Neo4j 数据库,包含启动/停止服务、清空数…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
Python爬虫实战:研究Restkit库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...
GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...
