C++笔试强训3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、选择题

1-5题

在这里插入图片描述
如图所示,如图所示p-3指向的元素是6,printf里面的是%s,从6开始连续打印直到遇到0结束,所以打印的是6789。
答案选B。
在这里插入图片描述


在这里插入图片描述
首先第一个switch里x%3是1,为真,进入case 1,进入第二个switch,y是3,所以会进入default输出hello,又因为没有break,所以会进入第一个switch的case 2,输出third。
所以最终会输出hellothird,答案选D。


在这里插入图片描述
A:二维数组可以省略列,不可以省略行,故A错。
B: B正确。
C: 两行,初始化的时候有三个{},越界了。
D: {0,,2}不能间隔初始化,就是不能连续俩逗号,中间啥都不写。

故选B。


在这里插入图片描述
A不正确,C语言中不能return 两个数回去的.

在这里插入图片描述
int *p[4] 是一个指针数组,即存放指针的数组,这个是一个数组,里面放着4个int类型的指针。
A: 是放int类型的数组,不符。
B: 是一个int类型的指针。
C: []优先级本来就比*高,因此加上括号和不加括号int *p[4]等同,
D: p先和*结合表示p是一个指针,前面的在和int [4]结合,表示指向一个存放4个1int类型元素的数组,是一个数组指针,即指向数组的指针。

故选C。


6-10题

在这里插入图片描述
ABC均可。
D选项中ch=getchar放在了for循环的预处理位置
预处理位置的语句只会执行一次,所以无法统计,故选D。


在这里插入图片描述
mystring指向数组首元素,mystring赋值给ptr,ptr也指向数组首元素,ptr+=5,向后便宜五个单位,指向fg。
故选B。


在这里插入图片描述
考察指针常量和常量指针,const在*右边是指针常量,const在*左边是常量指针。故12是常量指针,3是指针常量。
故选C。


在这里插入图片描述
32位系统下指针大小是四个字节,[]优先级比**高,所以先和[]结合,是个三行四列的数组,放的是二级指针,3*4*4=48,故选B。


在这里插入图片描述
大端:低位存高地址
小端:低位存低地址
例如int i=1
大端:00 00 00 01
小端:01 00 00 00
低地址---------->高地址
long long a=1,b=2,c=3;
在这里插入图片描述
故选B。


二、编程题

题目一

题目链接:
字符串中找出连续最长的数字串

在这里插入图片描述
运行代码:

#include <iostream>
#include<string>
using namespace std;

int main() {
    string a, b, c;
    std::cin >> a;
    for (char i : a) {
        if (i >= '0' && i <= '9')
            b += i;
        else {
            if (b.size() > c.size()) {
                c = b;
                b.clear();
            }
            b.clear();
        }
    }
    if (b.size() > c.size()) {
        c = b;
        b.clear();
    }
    cout << c;
}
// 64 位输出请用 printf("%lld")

运行结果:
在这里插入图片描述

题目二

题目链接:
数组中出现次数超过一半的数字

在这里插入图片描述

运行代码:

class Solution {
  public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
// 因为用到了sort,时间复杂度O(NlogN),并非最优
        if (numbers.empty()) return 0;

        sort(numbers.begin(), numbers.end()); // 排序,取数组中间那个数
        int middle = numbers[numbers.size() / 2];

        int count = 0; // 出现次数
        for (int i = 0; i < numbers.size(); ++i) {
            if (numbers[i] == middle) ++count;
        }

        return (count > numbers.size() / 2) ? middle : 0;
    }
};

运行结果:
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 12:08:04       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 12:08:04       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 12:08:04       90 阅读
  4. Python语言-面向对象

    2024-07-10 12:08:04       98 阅读

热门阅读

  1. AUTOSAR:汽车软件架构的未来

    2024-07-10 12:08:04       27 阅读
  2. 相机光学(二十九)——显色指数(Ra)

    2024-07-10 12:08:04       23 阅读
  3. 贪心算法合集一

    2024-07-10 12:08:04       26 阅读
  4. 索引知识总结

    2024-07-10 12:08:04       29 阅读
  5. Oracle怎么实现RSA加密解密

    2024-07-10 12:08:04       29 阅读
  6. 前端判断场景和方式

    2024-07-10 12:08:04       24 阅读
  7. AWS EKS上GPU工作负载自动扩缩容的异常排查指南

    2024-07-10 12:08:04       25 阅读
  8. 深入WebKit内核:揭秘HTML与XML的识别之谜

    2024-07-10 12:08:04       25 阅读