2023年第15届12月STEMA

2023年第15届12月STEMA

  • 一、选择题
    • 1. 定义字符串 string a = “Hello C++”,下列选项可以获取到字符 ‘C’ 的是( )。
    • 2. 下列选项中数值与其它项不同的是( )。
    • 3. 定义变量 int i = 0, a,执行表达式 a = --i 后,i 和 a 的值分别是( )。
    • 4. 定义数组 int a[10] = {4, 6, 1, 3, 8, 7, 2, 9, 0, 5},那么 *(a + 5) 的值是( )。
    • 5. 执行以下程序,输出的结果是( )。
  • 二、编程题
    • 1. 求和
    • 2. 数位和为偶数的数
    • 3. 填涂颜色
    • 4. 外观数列
    • 5. 删除数字

一、选择题

1. 定义字符串 string a = “Hello C++”,下列选项可以获取到字符 ‘C’ 的是( )。

A.a[7]
B.a[6]
C.a[5]
D.a[4]

答案:B

2. 下列选项中数值与其它项不同的是( )。

A.(1234)5
B.(302)8
C.(11000100)2
D.(c2)16
答案:C

3. 定义变量 int i = 0, a,执行表达式 a = --i 后,i 和 a 的值分别是( )。

A.-1、0
B.0、-1
C.-1、-1
D.0、0
答案:C

4. 定义数组 int a[10] = {4, 6, 1, 3, 8, 7, 2, 9, 0, 5},那么 *(a + 5) 的值是( )。

A.7
B.8
C.2
D.9
答案:A

5. 执行以下程序,输出的结果是( )。

int func( int x, int y, int z )
{if( x == 1 || y == 1 || z == 1 ) return 1;if( x < y && x < z )return func( x, y - 1, z ) + func( x, y, z - 1 ); if( y < x && y < z )return func( x - 1, y, z ) + func( x, y, z - 1 );return func( x - 1, y, z ) + func( x, y - 1, z );
}
int main()
{cout << func( 3, 3, 2 );return 0;
}

A.5
B.6
C.7
D.8
答案:B

二、编程题

1. 求和

题目描述:
给定 n 个整数,请计算出所有大于等于 10 的整数之和。
例如:n = 5,5 个整数分别为 10、20、4、30、9,其中大于等于 10 的整数有 10、20、30,它们的和为 60(10 + 20 + 30)。
输入描述:
共两行
第一行输入一个整数 n(1≤n≤1000)
第二行输入 n 个整数 Pi(1≤Pi≤100),整数之间以一个空格隔开输出描述:输出一个整数,表示所有大于等于 10 的整数之和
样例输入:
5
10 20 4 30 9
样例输出:
60

#include <bits/stdc++.h>
using namespace std;
int main() {int n, s = 0;cin >> n;for (int i = 1, x; i <= n; i++) {cin >> x;if (x >= 10)s += x;}cout << s;return 0;
}

2. 数位和为偶数的数

提示信息:
偶数:能被 2 整除的数。
数位和:一个整数中所有数位上的数字之和。
例如:整数 123,数位和是 6(1 + 2 + 3)。

题目描述:
给定一个整数 n,请找出 1 到 n 之间(包含 1 和 n)所有数位和为偶数的整数。
例如:n = 15,1 到 15 之间的整数为:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;数位和依次为:1、2、3、4、5、6、7、8、9、1、2、3、4、5、6;
数位和为偶数的是:2、4、6、8、11、13、15。

输入描述:
输入一个整数 n(2≤n≤1000)

输出描述:
一行输出若干个整数,表示 1 到 n 之间(包含 1 和 n)所有数位和为偶数的数,并按照从小到大的顺序依次输出,整数之间以一个空格隔开

样例输入:
15

样例输出:
2 4 6 8 11 13 15

#include <bits/stdc++.h>
using namespace std;
int main() {int n;cin >> n;for (int i = 1, x, y; i <= n; i++) {x = i;y = 0;while (x) {y += x % 10;x /= 10;}if (y % 2 == 0)cout << i << " ";}return 0;
}

3. 填涂颜色

题目描述:
给定一个由 n 行 m 列的小方格组成的矩阵图形,接下来对该图形进行如下操作:1、先选择其中 x 行,将其填成黄色;2、再选择其中 y 列,将其填成黄色;填色完成后,请统计出有多少个小方格未被填色。

例如:矩阵图形由 4 行 5 列的小方格组成,先选择第 2、4 行将其填色,再选择第 1、3、5 列将其填色。

填色完成后,有 4 个小方格未被填色。
输入描述:
共三行
第一行输入 4 个整数 n,m,x,y,分别表示矩阵的行数和列数以及选择填色的行数和列数 (1≤x≤n≤10000,1≤y≤m≤10000),整数之间以一个空格隔开
第二行输入 x 个不同的整数(1≤整数≤n),表示被填色的行号,整数之间以一个空格隔开
第三行输入 y 个不同的整数(1≤整数≤m),表示被填色的列号,整数之间以一个空格隔开
输出描述:
输出一个整数,表示填色完成后未被填色的小方格数量

样例输入:
4 5 2 3
2 4
1 3 5

样例输出:
4

#include <bits/stdc++.h>
using namespace std;int main() {int n,m,x,y,a[10001];cin >> n >> m >> x >> y;for(int i=1;i<=x;i++) cin >> a[i];for(int i=1;i<=y;i++) cin >> a[i];	cout<<n*m-x*m-y*n+x*y;return 0;
}
#include <bits/stdc++.h>
using namespace std;int arr[101][101]={0};
int main() {// 1、输入数据。//  n行、m列、填充x行、填充y行、a用于循环输入行数或列数 int n,m,x,y,a,cnt=0;cin >> n >> m >> x >> y;// 2、填充行 for(int i=1;i<=x;i++){cin >> a;for(int j=0;j<m;j++){arr[a-1][j]=1;}}// 3、填充列		for(int i=1;i<=y;i++){cin >> a;for(int j=0;j<m;j++){arr[j][a-1]=1;}}	// 4、计算数量 for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(arr[i][j] == 0){cnt++; }}}cout<<endl<<cnt<<endl;return 0;
}

4. 外观数列

提示信息:

外观数列是一个整数序列,给定该数列的第一项数据之后,从第二项开始,每一项都是对前一项数据的描述。

例如:

给定外观数列的第一项为 1;

接下来第二项是对第一项数据的描述,即“一个 1”,记作 11;

第三项是对第二项数据的描述,即“两个 1”,记作 21;

第四项是对第三项数据的描述,即“一个 2,一个 1”,记作 1211;

第五项是对第四项数据的描述,即“一个 1,一个 2,两个 1”,记作 111221;以此类推…

题目描述:

给定外观数列的第一项 x 以及一个整数 n,请计算出该外观数列第 n 项的值。

例如:x = 2,n = 3,外观数列为:

2

12

1112

3112

132112

外观数列第 3 项为 1112。

输入描述:

输入两个整数 x(1≤x≤100)和 n(1≤n≤30)

输出描述:

输出一个整数,表示外观数列第 n 项的值

样例输入:

2 3

样例输出:

1112

#include <bits/stdc++.h>
using namespace std;int main() {string s,new_s;int n,cnt;cin >> s >> n;for(int i=2;i<=n;i++){cnt=1;new_s.clear();for(int j=0;j<s.size();j++){if(s[j]==s[j+1]){cnt++;}else{new_s += cnt+'0';new_s += s[j];cnt=1;}}s=new_s;}cout<<s<<endl;return 0;
}

5. 删除数字

题目描述:

老师在黑板上写了一个不超过 500 位的正整数 n(1≤n<10500),要求同学们删除其中任意 k 个数字, 剩余数字的顺序不变,希望得到的数最大。

例如:n = 69134,k = 2,从 69134 中删除 2 个数字,将第一位 6 和第三位 1 删除,得到的新数 934 是最大的。

输入描述:

输入两个整数 n 和 k(1≤n<10500,0≤k<n的位数),整数之间以一个空格隔开

输出描述:

输出一个整数,表示删除 k 个数字后,得到的最大数

样例输入:

69134 2

样例输出:

934

#include <bits/stdc++.h>
using namespace std;int main(){	 string n;int k;cin >> n >> k;for(int i=1;i<=k;i++){ 			// 遍历K次,要删除K个数字int flag=1;for(int j=1;j<n.size();j++){ // 从第2个数字开始比,如果这个数字 小于 后面的数字,那么删除这个小的数字 if(n[j-1] < n[j]){n.erase(j-1,1);flag=0;break;} } if(flag){					// 如果一直到最后一个数字都是当前数字 大于 后面的数字,那么删除最后一个数字 n.erase(n.size()-1,1);}}cout<<n;return 0;
} 
#include <bits/stdc++.h>
using namespace std;int main() {string s;int k;cin >> s >> k;s+='9';for(int i=1;i<=k;i++){ 				// 要删除K个数字,重复执行k次 for(int j=0;j<s.size();j++){	// 从头开始遍历,遍历k次 if(s[j]<s[j+1]){			// 如果当前这个数字 小于 它后面的数字,则删除,并结束循环 s.erase(j,1);break;}} }s.erase(s.size()-1,1);cout<<s;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启智社区昇腾算力快速使用 ATC

快速使用 ATC 本文将详细介绍如何借助启智社区昇腾算力 910/910B 进行模型转换&#xff0c;彻底告别开发板上模型转换各种报错的痛苦。 TODO&#xff1a; 完成数据集、模型存储教程 完成训练&模型转换教程 完成 ATC 其他功能教程 Fork 仓库 打开仓库点击右上角的派生按钮…

活动回顾丨掘金海外,探寻泛娱乐社交APP出海新风口

3月中旬,Flat Ads携手声网、XMP在广州成功举办“泛娱乐社交APP出海新风口——广州站”的主题线下沙龙活动。 多位大咖与泛娱乐社交APP赛道的行业伙伴汇聚一堂。本次活动邀请到Flat Ads 市场VP 王若策、声网娱乐视频产品负责人 陈际陶、XMP资深产品运营专家 屈俊星等多位行业大…

自然语言处理——信息熵

理解自然语言处理中的信息熵 本文将从以下六个方面进行阐述: 背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模型公式详细讲解具体代码实例和详细解释说明附录常见问题与解答1. 背景介绍 在自然语言处理(NLP)的领域,熵是一个至关重要的概念。它不仅帮助我们量…

基于SpringBoot Vue员工管理系统

一、&#x1f4dd;功能介绍 基于SpringBoot Vue员工管理系统 角色&#xff1a;管理员、用户 管理员&#xff1a;管理员进入主页面&#xff0c;主要功能包括系统首页、个人中心、员工管理、部门管理、请假申请管理、出勤记录管理、奖惩信息管理、工资信息管理等进行操作。 员…

上位机图像处理和嵌入式模块部署(qmacvisual之plc通信)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 传统的非标自动化设备当中&#xff0c;plc发挥了很大的作用。这里面如何对这些电机和机构进行控制&#xff0c;大多数场景下用的就是plc设备了。目…

Linux常用命令详介

SHELL 发展历程&#xff1a; 名称配置文件发布时间发布者设计思想Thompson shell无准确名称或位置1971Ken Thompsonthe first Unix shell,Bourne shell.profile1979Stephen Bourneit was a replacement for the Thompson shellBash依次查找.bash_profile、.bash_login、.prof…

LeetCode 热题 100 | 贪心算法

目录 1 121. 买卖股票的最佳时机 2 55. 跳跃游戏 3 45. 跳跃游戏 II 4 763. 划分字母区间 菜鸟做题&#xff0c;语言是 C 1 121. 买卖股票的最佳时机 解题思路&#xff1a; 维护一个变量 max_pricemax_price 用于存储排在 i 天之后的股票最高价格第 i 天的最高利润 …

【前端面试3+1】08 css选择器、在前端页面展示后端传来的图片数组、请求方法的常见类型、【搜索插入位置】

一、css选择器有哪些&#xff1f; 1.元素选择器&#xff1a; 通过元素名称选择元素。 示例&#xff1a;p 选择所有段落元素。 2.类选择器&#xff1a; 通过类名选择元素。 示例&#xff1a;.btn 选择所有类名为 btn 的元素。 3.ID选择器&#xff1a; 通过id属性选择元素。 示例…

Copilot for Microsoft365使用心得

从去年3月份的发布到上周获得的体验名额&#xff0c;关注copilot已经超过了一年&#xff0c; 实际体验了一周觉得微软这款产品真的挺厉害的&#xff0c;至少在我认知里面确实可以减少很多的工作量&#xff0c;在此感谢陈老师公众号的体验卡的活动&#xff08;活动真实有效&…

Windows11下Docker使用记录(一)

Docker使用记录&#xff08;一&#xff09; 简单介绍Docker安装Docker 常用命令Docker 可视化Docker 使用GPU可视化rviz、gazebo 在进行ROS项目开发时&#xff0c;如果只有一台Windows电脑&#xff0c;我们可以考虑使用WSL或Docker来搭建ROS环境。在尝试了两种方式后&#xff0…

Tuxera NTFS for Mac2023绿色免费版 免费的ntfs for mac 免费读写硬盘U盘工具

Tuxera NTFS 2023 Mac免费版是款适合Mac用户使用的磁盘读写工具。Tuxera NTFS 2023 Mac可以很好的帮助用户在Mac上打开、编辑、复制、移动或删除存储在Windows NTFS格式的USB驱动器上的文件。并且Tuxera NTFS 2023 Mac还可以无阻碍地使用各种文件系统磁盘&#xff0c;还能解决磁…

C++模板基础3——模板参数,成员模板,控制实例化

模板参数 什么是模板参数 模板参数是在C中使用模板时&#xff0c;用于指定模板的参数的一种机制。模板参数可以是类型参数、非类型参数或模板参数。 类型参数是指在模板中使用的特定类型&#xff0c;可以是内置类型&#xff08;如int、float等&#xff09;、自定义的类类型或…

WebAuthn:更好地保护线上敏感信息

1. 引言 2023年知乎博客 WebAuthn: 真正的无密码身份认证 总结得很赞。 在数字时代&#xff0c;密码已成为人们日常生活和在线活动中不可或缺的一部分。尽管互联网已经发展了 20 多年&#xff0c;许多方面都有了巨大的改进&#xff0c;但只有密码&#xff0c;还是 20 年前的用…

Python球球大作战

文章目录 写在前面球球大作战程序设计注意事项写在后面 写在前面 安装pygame的命令&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame球球大作战 《球球大作战》是一款简单易上手、充满趣味性和竞技性的休闲手游。游戏的核心玩法可以用一句话概…

python数据分析和可视化【4】星巴克数据分析

有一组关于全球星巴克门店的统计数据directory.csv&#xff0c;分析了在不同国家和地区以及中国不同城市的星巴克门店的数量。 要求&#xff1a; &#xff08;1&#xff09;查看星巴克旗下有哪些品牌。如果我们只关心星巴克咖啡门店&#xff0c;则只需获取星巴克中Brand的数据集…

JUC:SimpleDateFormat的线程安全问题 以及 不可变类型DateTimeFormatter的使用

文章目录 不可变类SimpleDateFormat为什么不安全&#xff1f;解决 不可变类保证线程安全的实现 不可变类 SimpleDateFormat public static void main(String[] args) {SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-MM-dd");for (int i 0; i <…

二维码的生成、下载Java,并返回给前端展示

分析 将生成的二维码图片&#xff0c;以IO流的方式&#xff0c;通过response响应体直接返回给请求方。 第一、不需要落到我们的磁盘&#xff0c;操作在内存中完成&#xff0c;效率比较高。 第二、所有生成二维码的请求&#xff0c;都可以访问这里&#xff0c;前端直接拿img标…

前端学习<四>JavaScript基础——04-标识符、关键字、保留字

变量的命名规则&#xff08;重要&#xff09; JS是大小敏感的语言。也就是说 A 和 a 是两个变量。大写字母是可以使用的&#xff0c;比如&#xff1a; var A 250; //变量1var a 888; //变量2 我们来整理一下变量的命名规则&#xff0c;非常重要。 必须遵守&#xff1a; 只…

使用阿里云试用Elasticsearch学习:1.3 基础入门——搜索-最基本的工具

现在&#xff0c;我们已经学会了如何使用 Elasticsearch 作为一个简单的 NoSQL 风格的分布式文档存储系统。我们可以将一个 JSON 文档扔到 Elasticsearch 里&#xff0c;然后根据 ID 检索。但 Elasticsearch 真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数…

Liunx进程信号

进程信号 进程信号什么是信号liunx信号种类 前后台进程前后台进程的概念 进程信号的产生键盘产生 阻塞信号信号的捕捉用户态和内核态 信号的捕捉函数 进程信号 什么是信号 信号是Unix、类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。它是一种异步的通知…