笔试强训 Day6

选择题

1.十进制变量i的值为100,那么八进制的变量i的值为()
A 146
B 148
C 144
D 142

本题很简单:100除8,取余数,直到商为零,最后反向的串起余数即可

在这里插入图片描述

2.执行下面语句后的输出为()

int I=1;
if(I<=0)
	printf("****\n") ;
else
	printf("%%%%\n");

A %%
B ****
C 有语法错,不能正确执行
D %%%%

3.对于下面的C语言声明描述正确的一项是()
char (*p)[16]
A p是长度为16的字符指针数组
B p是包含16个字符的字符串
C p是指向长度为16的字符数组的指针
D p是长度为16的字符数组

  • p是一个指针,指向的是长度为16的字符数组 也叫作数组指针

4.数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法
A a[i][ j]
B *(a[i]+j)
C *(*(a+i)+j)
D (a+i*4+j)

a[i]——> *(a+i) —— 访问数组的a的第i个元素
二维数组a中的每个元素都是一个一维数组,很明显ABC都正确

5.下面程序的输出结果是__________。

#include < iostream.h>
#define SQR(A) A*A
void main() {
	int x=6,y=3,z=2;
	x/=SQR(y+z)/SQR(y+z);
	cout< < x< < endl;
}

A 5
B 6
C 1
D 0

  • 考察宏,在预处理阶段将宏展开
  • 注意注意先全部替换了再运算,不要自己口算
    x/=SQR(y+z)/SQR(y+z) == x/=3+2 * 3+2 /3+2*3+2 =》x/=17=>x=6/17=0

6.当n=5时,下列函数的返回值是()

int foo(int n){
if(n<2){
	return n;
}
else
	return 2*foo(n-1)+foo(n-2);
}

A 5
B 11
C 29
D 10

  • 考察递归算法,画递归图算出f1、f2、f3等的数值,最后相加即可

7.以下对C语言的”指针“描述不正确的是()
A 32位系统下任何类型指针的长度都是4个字节
B 指针的数据类型声明的是指针实际指向内容的数据类型
C 野指针是指向未分配或者已释放的内存地址
D 当使用free释放掉一个指针内容后,指针变量的值被置为NULL

B.int* p   ----->p指向的是int类型的空间

C.int* p(int*)malloc(4); free(p)

free释放后,只是将p所在的内存空间释放了,并没有将p指针置为空,需要手动置空

8.数组定义为”int a[4][5];”, 引用”*(a+1)+2′′表示()(从第0行开始)
A a[1][0]+2
B a数组第1行第2列元素的地址
C a[0][1]+2
D a数组第1行第2列元素的值

(a+1)表示数组a中第一个元素的地址
*(a+1)表示数组a中第一个元素
*(a+1)+2是对一维数组后移两个单位;表示的是a数组第1行第2列元素的地址

9.有一个如下的结构体: 

struct A{
long a1;
short a2;
int a3;
int *a4;
};

A.24

B.28

C.16

D.18 

  • 本题有疏漏,没有告诉是在什么平台下运行,vs下默认对齐数是8,linux下默认对齐数是4在这里插入图片描述

10.运行结果是()

#include <iostream>
using namespace std;
int f(int n){
	if (n==1)
		return 1;
	else
		return (f(n-1)+n*n*n);
}
int main(){
	int s=f(3);
	cout<<s<<endl;
	return 0;
}

A 8
B 9
C 27
D 36

本题考查的是递归,f(3)= f(2)+333;f(2)=f(1)+222;f(1)=1;因此f(3)=1+222+333=36

编程题:

不要二_牛客题霸_牛客网 (nowcoder.com)

思路:

在一个 W*H 的网格盒子中,最多可以放置多少块蛋糕的功能。下面是实现思路的解释:

  1. 首先,从输入中读取 W 和 H 的值,即网格盒子的宽度和高度。
  2. 创建一个二维向量 a,用于表示网格盒子,并将所有元素初始化为1。这里使用向量的向量来表示二维数组。
  3. 对二维数组进行遍历,从左上角开始,依次处理每个网格的位置。
  4. 如果当前网格中放置了蛋糕(即元素值为1),则将计数器 count 增加1,并且将当前网格右边和下面相邻的两个网格的元素值设置为0,表示这两个位置不能放置蛋糕。这样做的原因是,如果在当前位置放置了蛋糕,那么右边和下面相邻的两个位置就无法放置蛋糕,因为它们与当前位置的欧几里得距离为2。
  5. 完成对网格盒子的遍历后,输出计数器 count 的值,即最多可以放置的蛋糕数量。

该实现思路通过遍历网格盒子的方式,按照一定规则放置蛋糕,以保证任意两块蛋糕之间的欧几里得距离不等于2。这样可以得到最多可以放置的蛋糕数量。代码中使用了向量的特性来表示二维数组,并且只遍历了一次网格盒子,所以时间复杂度为 O(W*H)。在这里插入图片描述

代码实现:

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

int main()
{
    int W, H, count = 0;
    cin >> W >> H;

    //定义二维数组
    vector<vector<int>> a;

    //确定行
    a.resize(W);
    //确定列
    for (auto& e : a)
    {
        //将每个元素初始化为1
        e.resize(H, 1);
    }

    for (int i = 0; i < W; i++)
    {
        for (int j = 0; j < H; j++)
        {
            if (a[i][j] == 1)
            {
                count++;
                if (i + 2 < W)
                {
                    a[i + 2][j] = 0;
                }
                if (j + 2 < H)
                {
                    a[i][j + 2] = 0;
                }
            }
        }
    }
    cout << count << endl;
}

 把字符串转换成整数__牛客网 (nowcoder.com)

 代码实现1:

class Solution {
public:
    int StrToInt(string str) {
        if (str.empty()) {
            return 0;  // 如果字符串为空,返回0
        }
        int flag = 1;  // 标志位,用于记录正负号,默认为正数
        if (str[0] == '-') {
            flag = -1;  // 如果第一个字符是负号,将标志位设置为-1
            str[0] = '0';  // 将负号替换为0,便于后续转换
        }
        else if (str[0] == '+') {
            flag = 1;  // 如果第一个字符是正号,将标志位设置为1
            str[0] = '0';  // 将正号替换为0,便于后续转换
        }

        int sum = 0;  // 用于累加转换后的结果
        for (int i = 0; i < str.size(); i++) {
            if (str[i] < '0' || str[i] > '9') {
                sum = 0;  // 如果遇到非数字字符,则将结果置为0
                break;
            }
            else {
                sum = sum * 10 + str[i] - '0';  // 将字符转换为数字,并累加到结果中
            }
        }
        return flag * sum;  // 返回带符号的结果
    }
};

实现2:

#include <string>
using namespace std;

class Solution {
public:
    int StrToInt(string str) {
        if (str.empty()) {
            // 返回0或者抛出异常,表示输入为空字符串
            return 0;
        }

        int flag = 1;
        int sum = 0;
        int i = 0;

        if (str[0] == '+') {
            flag = 1;
            i++;
        } else if (str[0] == '-') {
            flag = -1;
            i++;
        }

        for (; i < str.size(); i++) {
            if (str[i] < '0' || str[i] > '9') {
                // 非数字字符,返回0或者抛出异常,表示输入非法
                return 0;
            }
            sum = sum * 10 + (str[i] - '0');
        }

        return sum * flag;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python从入门到进阶】21、爬虫相关概念介绍

接上篇《20、HTML页面结构的介绍》 上一篇我们正式进入了Python爬虫的实战教程&#xff0c;主要讲解了要爬取的HTML页面的结构。本篇我们来介绍爬虫的相关概念。 一、什么是互联网爬虫 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那一台计算机上的数据便是蜘蛛网上的一个…

unity制作一款塔防游戏

文章目录 介绍寻路系统怪物生成器制作3种初级炮台、3种升级炮台设置炮台属性选择炮台&#xff0c;添加监听事件炮弹追踪攻击敌人拖动鼠标实现相机视角转换鼠标光标放在cube上变色文字动画 介绍 关键技术&#xff1a; 寻路系统 生成怪物算法 粒子系统 line renderer制作追踪射线…

通过Python的pdfplumber库提取pdf中表格数据

文章目录 前言一、pdfplumber库是什么&#xff1f;二、安装pdfplumber库三、查看pdfplumber库版本四、提取pdf中表格数据1.引入库2.定义pdf文件路径3.打开pdf文件4.获取pdf文件中的页数5.遍历每一页6.获取当前页内容7.提取表格数据8.输出表格数据9.效果 总结 前言 大家好&#…

Scala学习(九)---List集合

文章目录 1.List1.1 不可变List集合1.2 可变集合ListBuffer 1.List List集合默认为不可变集合&#xff0c;List集合在实例化的时候&#xff0c;无法通过new关键字进行实例化&#xff0c;只能通过伴生apply方法来对其进行实例化 1.1 不可变List集合 创建一个不可变list集合 …

HUD(抬头显示)的方案介绍

目录 一、基于DLP3030-Q1的HUD电路设计 二、DLP3030-Q1的介绍 三、DLP3030-Q1工作原理 四、DLPC120-Q1DMD 显示控制器 五、TMS320F2802332 位 MCU 六、 HUD显示实例 HUD主板实例 七、HUD的软件环境 一、基于DLP3030-Q1的HUD电路设计 本设计采用了DLP3030-Q1 芯片组&…

设计模式 -第1部分 避免浪费- 第1章 Flyweight 模式 - 共享对象避免浪费

第1部分 避免浪费 注&#xff1a;其内容主要来自于【日】-结城浩 著《图解设计模式》20章节 极力推荐大家阅读原著 第1章 Flyweight 模式 - 共享对象避免浪费 1.1 Flyweight 模式 Flyweight 的意思"轻量级"&#xff0c;其在英文中的原意指比赛中选手体重最轻等级的一…

【C语言】实现猜数字游戏——随机数

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 该篇将对 选择与循环语句 进行运用&#xff0c;实现猜数字游戏。 需求&#xff1a;游戏后可以选择再次进行游戏&#xff0c;也可以选择…

「实在RPA·烟草数字员工」助力烟草行业数字化转型加速度

烟草行业作为烟草产业链上重要一环&#xff0c;外部连接烟草工业企业、零售客户、消费者&#xff0c;内部包含营销、专卖、烟叶、物流等诸多业务&#xff0c;信息系统众多&#xff0c;企业数据量庞大。因此&#xff0c;清楚地了解自身存在的痛点&#xff0c;找到适合自身业务需…

如何在华为OD机试中获得满分?Java实现【寻找峰值】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

gitbook在centos上安装

1&#xff09;官网下载Node.js的Linux64位的二进制包:Download | Node.js 或者在线下载&#xff1a; wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz ​​2)到指定目录​解压 cd /opt/gitbook tar -xJf node-v12.16.1-linux-x64.tar.xz mv node-…

STM32采集传感器数据通过排序取稳定值

一、前言 在物联网、单片机开发中,经常需要采集各种传感器的数据。比如:温度、湿度、MQ2、MQ3、MQ4等等传感器数据。这些数据采集过程中可能有波动,偶尔不稳定,为了得到稳定的值,我们可以对数据多次采集,进行排序,去掉最大和最小的值,然后取平均值返回。 二、排序算法…

运维工程师面试总结(含答案)

运维工程师面试总结 原文链接&#xff1a;https://www.cuiliangblog.cn/detail/article/2 一、linux 1. linux系统启动流程 第一步&#xff1a;开机自检&#xff0c;加载BIOS第二步&#xff1a;读取&#xff2d;&#xff22;&#xff32;第三步&#xff1a;Boot Loader grub…

华为OD机试之真正的密码(Java源码)

真正的密码 题目描述 一行中输入一个字符串数组&#xff0c;如果其中一个字符串的所有以索引0开头的子串在数组中都有&#xff0c;那么这个字符串就是潜在密码在所有潜在密码中最长的是真正的密码&#xff0c;如果有多个长度相同的真正的密码&#xff0c;那么取字典序最大的为…

【ClickHouse】

文章目录 一、表引擎1、表引擎的作用2、TinyLog3、Memory4、MergeTree二、数据库引擎1、作用--跨种类交换数据2、示例 三、MergeTree引擎1、简单使用2、分区partition by3、主键primary key4、order by&#xff08;必填&#xff09; 一、表引擎 1、表引擎的作用 CK表引擎决定…

智能运维应用之道,告别企业数字化转型危机

面临的问题及挑战 数据中心发展历程 2000 年中国数据中心始建&#xff0c;至今已经历以下 3 大阶段。早期&#xff1a;离散型数据中心 IT 因以项目建设为导向&#xff0c;故缺乏规划且无专门运维管理体系&#xff0c;此外&#xff0c;开发建设完的项目均是独立运维维护&#…

【喜闻乐见,包教包会】二分图最大匹配:匈牙利算法(洛谷P3386)

&#x1f3ad;不要管上面那玩意。。。 引入 现在&#xff0c;你&#xff0c;是一位酒店的经理。 西装笔挺&#xff0c;清瘦智慧。 金丝眼镜&#xff0c;黑色钢笔。 大理石的地板&#xff0c;黑晶石的办公桌&#xff0c;晶莹的落地玻璃。 而现在&#xff0c;有几个雍容华贵的…

智慧城市同城V4小程序V2.24独立开源版 + 全插件+VUE小程序开源前端+最新用户授权接口

智慧城市同城V4小程序V2.22开源独立版本月最新版&#xff0c;与上一版相比修复了一些小细节&#xff0c;功能本身并无大的变化。新版系统包含全插件、包括很多稀缺收费的插件都在里面如括招聘、 家政等&#xff0c;外加小程序的VUE开源前端&#xff0c;整个系统全开源&#xff…

机器学习 | 降维:PCA主成分分析

本文整理自 长路漫漫2021的原创博客&#xff1a;sklearn基础篇&#xff08;九&#xff09;-- 主成分分析&#xff08;PCA&#xff09;李春春_的原创博客&#xff1a;主成分分析&#xff08;PCA&#xff09;原理详解bilibili视频&#xff1a;用最直观的方式告诉你&#xff1a;什…

Python中模块的使用方法4

1 模块、包和库的区别 Python中&#xff0c;模块的英文是“module”&#xff0c;是一个以py为后缀名的文件&#xff1b;包的英文是“package”&#xff0c;是一个包含了多个模块的目录&#xff1b;库的英文是“library”&#xff0c;包含了具有相关功能的包和模块。 2 模块的…

web练习第二周

前言&#xff1a;&#xff08;博主个人学习笔记&#xff0c;不用看&#xff09;web练习第二周&#xff0c;仅做出前3题。相比于第一周&#xff0c;难度大幅增加&#xff0c;写题时就算看了wp还是像个无头苍蝇一样到处乱创&#xff0c;大多都是陌生知识点&#xff0c;工具的使用…
最新文章