C++写算法题时常见问题(稳定更新)

目录

1.如何用 getline 函数读取用户输入的一行

2.如何防止用 scanf 读取字符时读取了 换行和空格

3.map和unordered_map的差别和使用

4.“表达式求值”问题解析

5.运行报RE错误

6.在set或者map里面使用结构体

7.运行时报TLE时,时间复杂度问题

8.double类型的输入和输出


1.如何用 getline 函数读取用户输入的一行

代码源于蓝桥杯演示文档

#include <string>
#include <iostream>
#include <sstream>int main()
{// 问候用户std::string name;std::cout << "What is your name? ";std::getline(std::cin, name);std::cout << "Hello " << name << ", nice to meet you.\n";// 逐行读文件std::istringstream input;input.str("1\n2\n3\n4\n5\n6\n7\n");int sum = 0;for (std::string line; std::getline(input, line); ) {sum += std::stoi(line);}std::cout << "\nThe sum is: " << sum << "\n";
}

输出:

What is your name? John Q. Public
Hello John Q. Public, nice to meet you.The sum is 28

2.如何防止用 scanf 读取字符时读取了 换行和空格

常见错误:

解决方案:scanf(" %c",&c);在%前加空格

解决后:

3.map和unordered_map的差别和使用

map和unordered_map的差别和使用_map和unorderedmap的区别-CSDN博客

4.“表达式求值”问题解析

AcWing 3302. 表达式求值:多图讲解运算符优先级+详细代码注释 - AcWing

5.运行报RE错误

可能存在的问题:

1.在函数里面的数组开太大(原因:数组定义在函数里面会直接在堆栈里面申请空间)。故大数组务必放在函数外面作为全部变量。

2.出现了除0,检查除法有没有可能会导致除0的地方。

3.堆栈溢出,即1或者递归调用次数过多

4.在scanf("%d",a);给a赋值的时候没有加&

5.数组开的小,导致数组下标越界

6.在set或者map里面使用结构体

当我们需要在set和map里面使用结构体的时候,需要对运算符进行重载

下面给出例子:

在结构体外进行运算符重载:

struct Person {std::string name;int age;
};bool operator<(const Person& p1, const Person& p2) {return p1.age < p2.age;
}bool: 这是函数的返回类型,表示返回一个布尔值。
operator<: 这是 < 运算符的函数形式,表示重载了小于运算符。
(const Person& p1, const Person& p2): 这是函数的参数,它们是常量引用类型的 Person 对象,用于比较两个 Person 对象的年龄。
{}: 这是函数体的起始和结束符号,表示函数体内的代码块。

或者也可以采用在结构体内进行运算符重载:

struct Person {std::string name;int age;bool operator <(const Person& p)const{return age<p.age;}
};bool: 这是函数的返回类型,表示返回一个布尔值。
operator <: 这是 < 运算符的函数形式,表示重载了小于运算符。
(const Person& p): 这是函数的参数,它是一个常量引用类型的 Person 对象,表示要与当前对象进行比较的对象。
const: 这是成员函数的修饰符,表示该函数不会修改当前对象的成员变量。
{}: 这是函数体的起始和结束符号,表示函数体内的代码块。

详细关于运算符重载:运算符重载(在c++中使用set、map存储结构体)-CSDN博客 

7.运行时报TLE时,时间复杂度问题

写的算法的时间复杂度小于或者等于10^8我们都认为该算法能够在1s之内,故运行时报TLE时,需检查自己写的算法,耗费时间最大的地方的时间复杂度能否优化,改写你的算法 

8.double类型的输入和输出

scanf 输入double类型时,必须使用%lf

printf 输出double类型时,使用%lf和%f都可以,但根据C语言标准,应该使用"%f“格式符来输出double类型的值,故推荐大家输出double类型时使用%f

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

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

相关文章

ncc匹配(一,理论)

前头从来没用过ncc&#xff0c;基于形状匹配搞定后&#xff0c;又翻了翻learning opencv&#xff0c;他并不推荐ncc&#xff0c;而是力推emd&#xff0c;这也是当初我没考虑用ncc的原因。 当初看到ncc公式很复杂&#xff0c;也就忘了。 我的第一个匹配&#xff0c;是最笨的&a…

软件测试Bug系列之4个基本步骤(一)

目录 1.发现bug 2.提交bug 3.跟踪bug 4.总结bug 只要你一个测试人员 &#xff0c;就肯定离不开提交bug&#xff0c;跟踪bug的工作 。对于大多数的功能测试人员来说 &#xff0c;占比最多的工作就是和bug打交道 。可以说它是我们最重要的一块业绩 。所以&#xff0c;有必要静…

Redis核心技术与实战【学习笔记】 - 22.浅谈Redis的ACID相关知识

概述 事务是数据库的一个重要功能。所谓的事务&#xff0c;就是指对数据进行读写的一系列操作。事务在执行时&#xff0c;会提供专门的属性保证&#xff0c;包括原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isol…

测试人2023年终总结怎么写?升职加薪就靠它了!

你们年终总结都写了嘛&#xff1f;小编花了2天的时间&#xff0c;写完了2000字&#xff0c;只要领导一说交&#xff0c;我就能分分钟发给领导嘿嘿嘿~很喜欢这种未雨绸缪不紧不慢的感觉… 为了方便大家“食用”本篇文章&#xff0c;先把我的年终总结大纲给大家放出来瞧瞧&#…

解决浏览器端 globalThis is not defined 报错

解决浏览器端 globalThis is not defined 报错 前言解决办法&#xff1a; 前言 在使用低版本火狐浏览器出现报错globalThis is not defined 解决办法&#xff1a; 在vue的index.html 中添加 this.globalThis || (this.globalThis this) <head><script>this.g…

[BUUCTF]-PWN:picoctf_2018_can_you_gets_me解析

先看保护 再看ida 有一个不限长度的输入点gets&#xff0c;那能干的就很多了。 通俗易懂的思路有以下两种 解法一&#xff08;系统调用&#xff09;&#xff1a; 完整exp&#xff1a; from pwn import* context(log_leveldebug) pprocess(./getsme) premote(node5.buuoj.cn…

基于python+控制台输出的学生信息管理系统

基于python控制台输出的学生信息管理系统 一、系统介绍二、效果展示三、其他系统实现四、获取源码 一、系统介绍 打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统&#xff0c;并且需要接收用户的输入&#xff0c;在根据输入内容调用相应函数…

解放网工双手-SNMP如何做好运维辅助?

1. SNMP为什么被誉为“网管神器”&#xff1f; 2. SNMP不同版本有何区别&#xff1f; 3. SNMP有哪些问题及Telemetry有何优势&#xff1f; ---- SNMP ----- 简单网络管理协议 U2000&#xff1a;传输设备管理 企业&#xff0c;银行 esight&#xff1a;华为 iMaster NCE-Camp…

机器学习周报第二十八周 PINNs2

文章目录 week28 PINNs2摘要Abstract一、Lipschitz条件二、文献阅读1. 题目数据驱动的偏微分方程2. 连续时间模型3. 离散时间模型4.结论 三、CLSTM1. 任务要求2. 实验结果3. 实验代码3.1模型构建3.2训练过程代码 小结参考文献 week28 PINNs2 摘要 本文主要讨论PINN。本文简要…

python接口自动化之接口测试用例(详解)

简介 接口测试是软件测试中非常重要的一种测试类型&#xff0c;它主要针对系统的接口进行测试&#xff0c;检查接口之间的交互是否符合预期。在进行接口测试时需要注意以下几个方面&#xff1a; 接口测试用例设计 接口测试用例设计需要考虑到接口的输入、输出、边界条件、异常…

从一个小故事讲解观察者模式~

定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 什么是观察者模式&#xff1f; 观察者模式在我们的日常生活中极其常见。 先来看看观察者模式的定义&#xff1a; 观察者模式定义了对象之间…

山西电力市场日前价格预测【2024-02-05】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-02-05&#xff09;山西电力市场全天平均日前电价为288.64元/MWh。其中&#xff0c;最高日前电价为400.22元/MWh&#xff0c;预计出现在18:45。最低日前电价为0.00元/MWh&#xff0c;预计出…