每日练习-7

news2024/11/27 1:46:11

目录

一、选择题

二、算法题

1、两种排序方法

2、求最小公倍数


一、选择题

1、

解析:

指针和引用是C++中两种不同的变量类型,它们都可以用来访问或修改其他变量的值,但是它们有以下几个区别:

  • 引用必须在定义时初始化,而指针可以在任何时候初始化。例如,int &r = a;是合法的,但是int &r;是不合法的。而int *p;int *p = &a;都是合法的。
  • 引用一旦初始化后不能改变指向的对象,而指针可以改变指向的对象。例如,如果定义了int &r = a;,那么之后不能再写r = b;来让r指向b,而只能修改r的值。而如果定义了int *p = &a;,那么之后可以写p = &b;来让p指向b。
  • 不存在空引用,而存在空指针。引用必须指向一个有效的对象,不能写int &r = NULL;。而指针可以指向NULL,表示没有指向任何对象。
  • 引用不需要解引用操作符,而指针需要。引用可以直接使用,就像它是原变量的别名一样。而指针需要用*号来解引用,才能访问或修改所指对象的值。
  • sizeof运算符对引用和指针的结果不同。sizeof运算符返回一个对象或类型所占的字节数。对于引用,它返回的是被引用对象的类型的大小。对于指针,它返回的是指针类型的大小。例如,在64位机器上,如果有int a = 996; int *p = &a; int &r = a;,那么sizeof(p)返回8,而sizeof(r)返回4。

答案为E。

2、

解析:

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于:

  • 通过使用另一个同类型的对象来初始化新创建的对象。例如,Complex c2(c1);或者Complex c2 = c1;都会调用拷贝构造函数,用c1来初始化c2。
  • 复制对象把它作为参数传递给函数。例如,void Func(Complex c)中,形参c是用拷贝构造函数初始化的,实参是调用函数时传入的对象。
  • 复制对象,并从函数返回这个对象。例如,Complex Func()中,如果函数体内有return c;这样的语句,那么返回值是用拷贝构造函数初始化的,实参是c。

答案为B。

3、

解析:

  • 在函数f中,参数u是按值传递的,所以在调用f时,会用实参x或f(x)来初始化u,这会调用一次拷贝构造函数。
  • 在函数f中,局部变量v是用u来初始化的,这也会调用一次拷贝构造函数。
  • 在函数f中,局部变量w是用v来初始化的,这又会调用一次拷贝构造函数。
  • 在函数f中,返回值w是按值返回的,所以在返回时,会用w来初始化一个临时对象,这还会调用一次拷贝构造函数。
  • 最后y由临时对象拷贝构造。

但是第二次参数u的拷贝和最后一次拷贝被优化了,所以答案为7。

4、

解析:这个问题的答案是D,重载错误。因为友元函数重载运算符时,必须有至少一个参数,否则无法确定运算符作用于哪个对象。友元函数重载运算符时,因为没有this指针指向对象,因此参数个数保持和原来一样,运算符至少有一个参数,成员函数重载时,因为有this指针的原因,所以参数个数要少一个。

二、算法题

1、两种排序方法

解析:思路很简单,将接受的字符串都放到vector容器中,利用string的operator>=运算符重载来按ascii比较字符串,利用string的size来比较字符串的长度

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

int main() {
    int n;
    cin >> n;
    vector<string> vs;
    vs.resize(n);
    for (auto& str : vs) {
        cin >> str;
    }
    bool lex = true;
    bool len = true;
    for (int i = 1; i < n; i++) {
        if (vs[i - 1] >= vs[i]) { //违反字典序列
            lex = false;
            break;
        }

    }
    for (int i = 1; i < n; i++) {
        if (vs[i - 1].size() >= vs[i].size()) {
            len = false;
            break;
        }
    }
    if (len && lex)
        cout << "both" << endl;
    else if (!len && lex)
        cout << "lexicographically" << endl;
    else if (len && !lex)
        cout << "lengths" << endl;
    else
        cout << "none" << endl;
    return 0;



}
// 64 位输出请用 printf("%lld")

2、求最小公倍数

解析:最小公倍数 = 两数之积除以最大公约数,这里使用碾转相除法进行最大公约数的求解:即a与b的最大公约数可以转化为a、b之间的余数为两者之间最小的数之间的公约数。所以对于输入的两个数进行连续求余,直到余数为0,求余的分母即为结果。

#include<iostream>
using namespace std;
int gcd(int a, int b) {
    int r;
    while (r = a % b) {
        a = b;
        b = r;
    }
    return b;
}
int main() {
    long a, b;
    while (cin >> a >> b) {
        cout << a* b / gcd(a, b) << endl;
    }
    return 0;
}

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

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

相关文章

Terminnal will be login out after 20 second

锐捷交换机&#xff0c;命令敲着敲着 &#xff0c;就提示20秒后将中断 &#xff0c;show ip ssh 查看也一下也没有什么特殊的。 于是查看了一下VTY下的配置 absolute-timeout 5 ,这句话是什么意思呢 &#xff1f; 5分钟强制退出 &#xff01; 改进方法&#xff1a; (config)#…

为什么企业要选择使用报修工单管理系统?

报修管理系统是一种强大的工具&#xff0c;它为企业提供了一种方便、高效的方式来报告设备故障和异常情况&#xff0c;以便及时地反馈给相关的人员。这种系统不仅可以帮助企业更好地管理和跟踪设备的维护和维修工作情况&#xff0c;还可以对所有的维修信息进行统计和分析&#…

天视通等小众冷门摄像机接入安防监控系统EasyCVR平台的常见兼容问题及解决方法

众所周知&#xff0c;视频监控系统EasyCVR安防视频综合管理平台支持多类型设备、多协议方式接入&#xff0c;包括市场主流标准协议国标GB28181、RTMP、RTSP/Onvif协议等&#xff0c;以及厂家私有协议&#xff0c;如海康SDK、大华SDK、海康Ehome等。平台可兼容市面上绝大多数品牌…

【Java】类和对象知识

类和对象的基础知识 命名规则 类名统一使用大驼峰方法和成员变量统一使用小驼峰 定义一个类的时候注意的事项 1. 一般一个文件当中只定义一个类2. main方法所在的类一般要使用public修饰(注意&#xff1a;Eclipse默认会在public修饰的类中找main方法)3. public修饰的类必须…

英语——分享篇——每日100词——101-200

August——au我(谐音)gu姑(拼音)st沙滩(拼音)——八月份我和姑姑一起去沙滩 December——Dece第三(谐音)mb面包(拼音)er儿(拼音)——第三块面包是儿子在十二月买的

爬虫 — Scrapy-Redis

目录 一、背景1、数据库的发展历史2、NoSQL 和 SQL 数据库的比较 二、Redis1、特性2、作用3、应用场景4、用法5、安装及启动6、Redis 数据库简单使用7、Redis 常用五大数据类型7.1 Redis-String7.2 Redis-List (单值多value)7.3 Redis-Hash7.4 Redis-Set (不重复的)7.5 Redis-Z…

【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域

文章目录 定义函数&#xff1a;def()语句调用函数&#xff1a;输入函数名和参数对应的值参数return 返回值变量作用域 定义函数&#xff1a;def()语句 语法&#xff1a; def 函数名(参数1,参数2,.....,参数n): 函数体 return 语句举例&#xff1a; def hello(name):print(n…

【MySQL系列】- MySQL自动备份详解

【MySQL系列】- MySQL自动备份详解 文章目录 【MySQL系列】- MySQL自动备份详解一、需求背景二、Windows mysql自动备份方法2.1 复制date文件夹备份实验备份环境创建bat直接备份脚本 2 .2 mysqldump备份成sql文件创建mysqldump备份脚本 2 .3 利用WinRAR对MySQL数据库进行定时备…

Android:报错“Transform‘s input file does not exist”

一、前言&#xff1a; android运行的时候出现如下错误&#xff1a;Transform output file C:\android\Enjoy\app\libs\xxxx.jar does not exist.刚开始我也很懵&#xff0c;我理解的事什么文件没有。上网查完资料&#xff0c;发现是添加依赖的时候有问题。 二、解决方案&…

Redis实战:Redis在Java中的基本使用

本片将介绍 Redis 在 Java 中的基本使用 文章目录 1、使用jedis操作redis1.1、Jedis简介1.2、引入jedis的Maven依赖1.2、获取连接1.3、使用实例 2、对于JedisPooled的使用2.1、使用JedisPooled2.2、关于连接池 3、SpringBoot下使用Redis3.1、引入Maven依赖3.2、配置Redis连接3.…

C语言入门log03

2023.9.19 周二 江苏 软件&#xff1a;visual studio 2017 &#xff1b;注释快捷键 ctrlkc&#xff1b;取消ctrlku;运行快捷键 ctrlf5 B站视频 P4 按位取反~ int main() {//int arr[] {1,2,3,4,5,6};//4*624//printf("%d\n",sizeof(arr));//24 数组大小//print…

第14章 结构和其他数据形式

本章介绍以下内容&#xff1a; 关键字&#xff1a;struct、union、typedef 运算符&#xff1a;.、-> 什么是C结构&#xff0c;如何创建结构模板和结构变量 如何访问结构的成员&#xff0c;如何编写处理结构的函数 联合和指向函数的指针 设计程序时&#xff0c;最重要的步骤之…

面向面试知识--Lottery项目

面向面试知识–Lottery项目 1.设计模式 为什么需要设计模式&#xff1f; &#xff08;设计模式是什么&#xff1f;优点有哪些&#xff1f;&#xff09; 设计模式是一套经过验证的有效的软件开发指导思想/解决方案&#xff1b;提高代码的可重用性和可维护性&#xff1b;提高团…

DAQ高频量化平台:引领Ai高频量化交易模式变革

近年来&#xff0c;数字货币投资市场掀起了一股热潮&#xff0c;以&#xff08;BTC&#xff09;为代表的区块链技术带来了巨大的商业变革。数字资产的特点&#xff0c;如无国界、无阶级、无门槛、高流动性和高透明度&#xff0c;吸引了越来越多的人们的关注和认可&#xff0c;创…

linux内网渗透

一、信息收集 主机发现&#xff1a; nmap -sP 192.168.16.0/24 端口探测 masscan -p 1-65535 192.168.16.168 --rate1000 开放端口如下 nmap端口详细信息获取 nmap -sC -p 8888,3306,888,21,80 -A 192.168.16.168 -oA ddd4-port目录扫描 gobuster dir…

Windows安装GPU版本的pytorch详细教程

文章目录 chatGLM2-6B安装教程正式安装 chatGLM2-6B ChatGLM2-6B版本要装pytorch2.0&#xff0c;而且要2.0.1 &#xff0c;因此CUDA不能用12.0 &#xff0c;也不能用10.0&#xff0c;只能用11.x 版本。 安装教程 pip install直接下载安装 官网&#xff1a; https://pytorch.…

Python语言学习实战-内置函数all()和any()的使用(附源码和实现效果)

实现功能 all()和any()函数都是Python的内置函数&#xff0c;用于对布尔值进行操作。 all()函数接受一个可迭代对象作为参数&#xff0c;如果可迭代对象中所有元素都为真值&#xff08;即非零、非空、非None等&#xff09;&#xff0c;则返回True&#xff0c;否则返回False。…

VR全景需要加盟吗?简述VR全景加盟的意义

对于一个刚开始了解VR全景行业的新人来说&#xff0c;VR全景不是有软件、有设备、会拍摄就行了吗&#xff1f;为什么还要找全景平台进行加盟呢&#xff1f;VR全景加盟的作用又是什么呢&#xff1f;那么&#xff0c;我们就不得不多问几个问题了&#xff0c;例如不加盟的话&#…

企业级数据仓库-理论知识

D3 AM 大数据中间件 Hive&#xff1a;将SQL转化成分布式Map/Reduce进行运算&#xff0c;也支持转换成Spark,需要单独安装Hive集群才能访问Spark,支持60%的SQL&#xff0c;延迟比较大。SparkSQL:属于Spark生态圈&#xff0c;Hive on Sqark。HBase: NoSQL,高并发读&#xff0c;适…

霓虹灯效果

源码&#xff1a; void neon(Mat& src,Mat& dst) {for (int i 1; i < src.rows - 1; i) {for (int j 1; j < src.cols - 1; j){int r1, r2, r3, g1, g2, g3, b1, b2, b3;r1 src.at<Vec3b>(i, j)[2];r2 src.at<Vec3b>(i 1, j)[2];r3 src.at<…