【C++】笔试训练(三)

目录

  • 一、选择题
  • 二、编程题
    • 1、字符串中找出连续最长的数字串
    • 2、数组中出现次数超过一半的数字

一、选择题

1、以下程序的输出结果是()

#include <stdio.h>
int main()
{char a[10] = { '1', '2', '3', '4', '5', '6', '7', '8', '9', 0 }, * p;int i;i = 8;p = a + i;printf("%s\n", p - 3);
}

A 6
B 6789
C ‘6’
D 789

答案:B

2、以下程序的输出结果是()

#include <iostream>
int main()
{int x = 3, y = 3;switch (x % 2){case 1:switch (y){case 0:cout << "first";case 1:cout << "second";break;default:cout << "hello";}case 2:cout << "third";}return 0;
}

A second third
B hello
C first second
D hellothird

答案:D

3、以下能对二维数组a进行正确初始化的语句是()
A int ta[2][]={{0,1,2},{3,4,5}};
B int ta[][3]={{0,1,2},{3,4,5}};
C int ta[2][4]={{0,1,2},{3,4},{5}};
D int ta[][3]={{0,2},{},{3,4,5}};

答案:B
解析:二维数组的行可以省略,列不可以省略

4、能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()
A return这二个数
B 形参用数组
C 形参用二个指针
D 用二个全局变量

答案:A
解析:return每次只能返回一个数据,但是放到数组或一个容器里面,可以return多个数据。全局变量作用域在整个文件都是有效的。

5、int * p[4] 与选择项中的() 等价
A. int p[4]
B. int *p
C. int *(p[4])
D. int (*p)[4]

答案:C
解析:A是int类型数组,数组大小为4。B是int类型的指针。C是int类型的指针数组,数组大小为4,与题目等价。D是一个数组指针,数组大小为4,并且是int类型

6、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
A. n=0;while(ch=getchar()!=‘\n’)
B. n=0;while(getchar()!=‘\n’)n++;
C. for(n=0;getchar()!=‘\n’;n++);
D. n=0;for(ch=getchar();ch!=‘\n’;n++);

答案:D
解析:for循环初始化部分只会执行一次,所以D选项只会获取一个字符。

7、以下代码,代码执行之后ptr指向的内容是?

char* ptr;
char myString[] = "abcdefg";
ptr = myString;
ptr += 5;

A Compiler error
B fg
C efg
D defg

答案:B

8、下面3段程序代码的效果一样吗()

int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;

A (2)=(3)
B (1)=(3)
C (1)=(2)
D 都不一样

答案:C
解析:常量指针:所指空间的值是一个常量,能改变指针的指向。
指针常量:不能改变指针的指向,但是可以指针解引用改变所指空间的值
区分:const在 * 左边就是常量指针,在 * 右边就是指针常量

9、32位系统中,定义**a[3][4],则变量占用内存空间为()。
A 4
B 48
C 192
D 12

答案:B
解析:是一个三行四列的数组,指针类型,共有12个元素,所占空间大小为 12 * 4=48

10、假设在一个 32 位 little endian 的机器上运行下面的程序,结果是多少?

#include <stdio.h>
int main() 
{long long a = 1, b = 2, c = 3;printf("%d %d %d\n", a, b, c);return 0;
}

A 1,2,3
B 1,0,2
C 1,3,2
D 3,2,1

答案:B
解析:大端:低位存高地址
小端:低位存低地址
例如:int i = 1;
大端:00 00 00 01
小端:01 00 00 00
左边是低地址,右边是高地址
a:01 00 00 00 00 00 00 00
b:02 00 00 00 00 00 00 00
c:03 00 00 00 00 00 00 00
在这里插入图片描述

二、编程题

1、字符串中找出连续最长的数字串

入口:题目链接

题目描述:
在这里插入图片描述

解题思路:
遍历字符串,使用cur去记录连续的数字串,如果遇到不是数字字符,则表示一个连续的数字串结束了,则将
数字串跟之前的数字串比较,如果更长,则更新更长的数字串更新到ret。

代码展示:

#include <iostream>
#include <string>
using namespace std;
int main()
{string cur;string ret;string str;cin >> str;for (int i = 0; i <= str.length(); i++){// 数字+=到curif (str[i] >= '0' && str[i] <= '9'){cur += str[i];}else{// 找出更长的字符串,则更新字符串if (ret.size() < cur.size()){ret = cur;}else{cur.clear();}}}cout << ret << endl;return 0;
}

2、数组中出现次数超过一半的数字

入口:题目链接

题目描述:
在这里插入图片描述

解题思路1:
思路一:数组排序后,如果符合条件的数存在,则一定是数组中间那个数。这种方法虽然容易理解,但由于
涉及到快排sort,其时间复杂度为O(NlogN)并非最优;

代码展示:

int MoreThanHalfNum_Solution(vector<int>& numbers) {if (numbers.empty())return 0;sort(numbers.begin(), numbers.end());int mid = numbers[numbers.size() / 2];int count = 0;for (int i = 0; i < numbers.size(); i++){if (numbers[i] == mid)count++;}if (count >= (numbers.size() / 2))return mid;return 0;
}

解题思路2:
众数:就是出现次数超过数组长度一半的那个数字
如果两个数不相等,就消去这两个数,最坏情况下,每次消去一个众数和一个非众数,那么如果存在众数,
最后留下的数肯定是众数。

代码展示:

int MoreThanHalfNum_Solution(vector<int>& numbers) {if (numbers.empty())return 0;int sul = numbers[0];int times = 1;for (int i = 1; i < numbers.size(); i++){if (times != 0){if (numbers[i] == sul){times++;}else{times--;}}else{sul = numbers[i];times = 1;}}times = 0;for (int i = 0; i < numbers.size(); i++){if (numbers[i] == sul){times++;}}if (times > numbers.size() / 2)return sul;return 0;
}

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

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

相关文章

【JVM】双亲委派模型

双亲委派模型 1. 什么是双亲委派模型2. 双亲委派模型的优点 1. 什么是双亲委派模型 提到 类加载 机制&#xff0c;不得不提的一个概念就是“双亲委派模型”。 双亲委派模型指的就是 JVM 中的类加载器如何根据类的全限定名找到 .class 文件的过程 类加载器: JVM 里面专门提供…

【ESP32 + Edge Impulse平台】运行AI算法模拟多传感器数据融合实现异常检测

本篇博文主要以ESP32+MQ Sensor 气体传感器为例,通过连接 Edge Impulse 平台,实现数据的实时采集和训练,进而实现在嵌入式设备上部署 ML 机器学习。本教程介绍如何使用 Edge Impulse 和机器学习来实现ESP32 异常检测系统,系统使用一个机器学习模型,检测气体何时出现异常。…

OpenCV查找和绘制轮廓:findContours和drawContours

1 任务描述&#xff1a; 绘制图中粗线矩形的2个边界&#xff0c;并找到其边界的中心线 图1 原始图像 2.函数原型 findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, …

2021-06-11 51蛋骗鸡用小数点作秒指示,分钟计时.(怎么用二个数码管做分的倒计时,DP亮灭来计秒)

缘由怎么用二个数码管做分的倒计时&#xff0c;DP亮灭来计秒,求思路 - 24小时必答区 #include "REG52.h" sbit K1 P1^5; sbit K2 P1^6; sbit K3 P1^7; sbit BUZ1P1^0; bit k0; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,111,128};//0-9. unsign…

Polygon Miden:扩展以太坊功能集的ZK-optimized rollup

1. 引言 Polygon Miden定位为zkVM&#xff0c;定于2023年Q4上公开测试网。 zk、zkVM、zkEVM及其未来中指出&#xff0c;当前主要有3种类型的zkVM&#xff0c;括号内为其相应的指令集&#xff1a; mainstream&#xff08;WASM, RISC-V&#xff09;EVM&#xff08;EVM bytecod…

Kubernetes 学习总结(38)—— Kubernetes 与云原生的联系

一、什么是云原生&#xff1f; 伴随着云计算的浪潮&#xff0c;云原生概念也应运而生&#xff0c;而且火得一塌糊涂&#xff0c;大家经常说云原生&#xff0c;却很少有人告诉你到底什么是云原生&#xff0c;云原生可以理解为“云”“原生”&#xff0c;Cloud 可以理解为应用程…

[NOIP2011 提高组] 选择客栈

[NOIP2011 提高组] 选择客栈 题目描述 丽江河边有 n n n 家很有特色的客栈&#xff0c;客栈按照其位置顺序从 1 1 1 到 n n n 编号。每家客栈都按照某一种色调进行装饰&#xff08;总共 k k k 种&#xff0c;用整数 0 ∼ k − 1 0 \sim k-1 0∼k−1 表示&#xff09;&am…

机器学习——seaborn实用画图方法简介

0、seaborn简介: 前言:下面的总结只是介绍seaborn有哪些方法和属性,至于具体使用,通过下面给出的名称稍作查找即可。重点应该关注本文介绍的seaborn的使用方法seaborn与机器学习的关系: 知识图谱 0.1、了解即可的知识: seaborn:在matplotlib的基础上画一些更好看的图,在…

Mysql集群高可用架构MHA

Mysql集群高可用架构MHA 一、MHA概述1.1、 MHA 是什么1.2、 MHA 的组成1.3、 MHA 的特点 二、MHA高可用实例2.1、配置主从复制2.1、 安装 MHA 软件2.2、故障模拟2.3、故障修复 一、MHA概述 1.1、 MHA 是什么 MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的M…

计算机毕设 大数据全国疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的…

OpenCV之直线曲线拟合

直线拟合fitLine void fitLine( InputArray points, OutputArray line, int distType,double param, double reps, double aeps ); points:二维点的数组或vector line:输出直线,Vec4f (2d)或Vec6f (3d)的vector distType:距离类型 param:距离参数 reps:径向的精度参数 a…

【2023集创赛】加速科技杯三等奖作品:私密性高精度刷手身份认证系统

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;加速科技杯三等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电子礼…

【数据结构】排序之插入排序和选择排序

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;数据结构 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、排序的概念及其分类 &#x1f4d2;1.1排序的概念 &#x1f4d2;1.2排序…

HTML详细基础(二)文件路径

目录 一.相对路径 二.绝对路径 三.超链接标签 四.锚点链接 首先&#xff0c;扩展一些HTML执行的原理&#xff1a; htmL(hypertext markup Language) 是一种规范&#xff08;或者说是一种标准&#xff09;&#xff0c;它通过标记符&#xff08;tag&#xff09;来标记要显示…

【FreeRTOS】FreeRTOS移植stm32详细步骤介绍

我在查找FreeRTOS移植的相关教程特别少&#xff0c;所以想非常详细的介绍FreeRTOS移植stm32详细步骤&#xff0c;包括源码的下载&#xff0c;源码介绍&#xff0c;系统移植&#xff0c;代码验证等&#xff0c;每一步都有对应的介绍和解释&#xff0c;希望可以帮助到你们。 文章…

openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x86

文章目录 openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化&#xff1a;x8684.1 BIOS84.2 操作系统环境设置84.3 网络 openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化&#xff1a;x86 …

基于vue+Element Table Popover 弹出框内置表格的封装

文章目录 项目场景&#xff1a;实现效果认识组件代码效果分析 封装&#xff1a;代码封装思路页面中使用 项目场景&#xff1a; 在选择数据的时候需要在已选择的数据中对比选择&#xff0c;具体就是点击一个按钮&#xff0c;弹出一个小的弹出框&#xff0c;但不像对话框那样还需…

[DS资源推荐] Data Structure 严书配套代码

下图引入自康建伟老师博客 Github地址 使用说明&#xff1a;康老师博客 使用感受&#xff1a;Orz&#xff01;非常非常非常全面&#xff01;终于能看得下去严书了…

UWB技术在汽车智能制造的应用

返修区车辆管理项目 应用背景 在车辆总装生产线中&#xff0c;车辆下线后检测与返修是最后一个关键环节&#xff0c;整车一旦下线&#xff0c;由于流水线装配工艺、来料等原因&#xff0c;可能会出现部分整车存在瑕疵&#xff0c;进而进入返修区域待检。由于可能出现问题的不确…

区块链(9):java区块链项目的Web服务实现之实现web服务

1 引入pom依赖 <dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>9.4.8.v20171121</version></dependency><dependency><groupId>org.eclipse.jetty</groupId…