这几周经过liners大佬的指导,发现自己的代码实现能力确实太过于垃圾,所以根据他的指示,我应该去多多练习一下Dark模拟,但是最近刚刚入手Dark模拟的我感到非常的吃力,所以本人今天写博客一篇来讲述一下一些在做Dark模拟之前我们先要学会的一些操作。要想学好Dark模拟,字符串这部分内容是少不了的。

字符串的输入:

如何使用getline读入字符串(char)

这里我们主要讲一讲比char类型更强大的string类型的用法

首先我们要学习string类型还是必须了解他的输入。

我们这里输入采用getline() 具体实现方法如下:

#include<bits/stdc++.h>
using namespace std;
string s1;
int main()
{
getline(cin,s1);
cout<<s1;
return 0;
}

然后getline也支持第三个关键字,我们在要读入string类型后再加一个关键字,就可以以该关键字为结点关闭读入。

eg:

#include<bits/stdc++.h>
using namespace std;
string s1;
int main()
{
getline(cin,s1,'E');
cout<<s1;
return 0;
}

然后下面再来介绍一下基本的string类型的构造函数:

**1、直接构造 **

eg:string s1("Lottery Winner");

2、用某字符进行填充

eg:string s2(20,'s');
运行结果:ssssssssssssssssssss

3、从另一字符串的第n位往后进行复制

eg:	string s33(s1,8);或者string s3(s1);
运行结果:Winner和Lottery Winner

4、巧用=

我们可以使用+=把两个字符串合在一起
例如:
s1="Lottery";
s2=" Winner";
s3=s1+s2;
所以s3=Lottery Winner

5、巧用+=

其实和=的功能非常的相似,这里就不在赘述

6、字符串类型复制转char类型

//caition:不要和上面的弄混了!!!!
char cs[]="12345";
string s7(cs,3);//复制字符串cs的前3个字符到s当中
cout<<s7;

最后来一个总的:

#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"string 类型的常见构造函数"<<endl;
string s1("Lottery Winner");
cout<<s1<<endl;
string s2(20,'S');
cout<<s2<<endl;
string s3(s1);
string s33(s1,8);
cout<<s3<<endl;
cout<<s33<<endl;
string s4;
s4=s33+s2;
cout<<s4<<endl;
//caition:不要和上面的弄混了!!!!
char cs[]="12345";
string s7(cs,3);//复制字符串cs的前3个字符到s当中
cout<<s7;
}

运行结果如下:

下面在歇一歇关于substr的用法,因为比较简单,我在这里就不用多说了,相信大家看一下几行的代码一下子就理解了:

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"substr的用法"<<endl;
string s1="abcdefg";//记住标号从0开始
string s2=s1.substr(1,5);//把标号从1~5复制给s2
cout<<s2<<endl;
string s3=s1.substr(4);//从标号4开始往后把s2从标号4开始的后缀存入s3
cout<<s3<<endl;
return 0;
}

运行结果如下:

相信大家应该都懂了!

为Dark模拟做出的一些微小的贡献的更多相关文章

  1. 【做题】sgu189 Perl-like Substr——dark模拟

    注:这篇博客纯属为凑篇数而生. 题面较长,幸运的是,网上给出了相当不错的翻译. 需要支持的操作很简单,即对子串提取.赋值和输出,且对时间复杂度没有要求.换言之此题有成为块链毒瘤题的潜质.难点在于输入的 ...

  2. PMP模拟考试-2

    1. Increasing resources on the critical path activities may not always shorten the length of the pro ...

  3. Neural Networks and Deep Learning(神经网络与深度学习) - 学习笔记

    catalogue . 引言 . 感知器及激活函数 . 代价函数(loss function) . 用梯度下降法来学习-Learning with gradient descent . 用反向传播调整 ...

  4. 《清华梦的粉碎》by王垠

     清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我 ...

  5. 清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)

    清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知 ...

  6. [转帖]双剑合璧:CPU+GPU异构计算完全解析

    引用自:http://tech.sina.com.cn/mobile/n/2011-06-20/18371792199.shtml 这篇文章写的深入浅出,把异构计算的思想和行业趋势描述的非常清楚,难得 ...

  7. 转自王垠Blog——写给清华大学的退学申请

    清华梦的粉碎—写给清华大学的退学申请(转自王垠Blog)   清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进 ...

  8. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  9. 学习笔记——Maven实战(五)自动化Web应用集成测试

    自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成. ...

随机推荐

  1. Blazor带我重玩前端(一)

    写在前面 曾经我和前端朋友聊天的时候,我说我希望有一天可以用C#写前端,不过当时更多的是美好的想象,而现在这一切正变得真实…… 什么是Blazor 我们知道浏览器可以正确解释并执行JavaScript ...

  2. 输入url后浏览器干了些什么(详解)

    输入url后浏览器干了些什么(详解) DNS(Domain Name System, 域名系统) 解析 DNS解析的过程就是寻找哪台机器上有你真正需要的资源过程.但你在浏览器张红输入一个地址时,例如: ...

  3. 2020/6/10 JavaScript高级程序设计 BOM

    BOM(浏览器对象模型):提供用于访问浏览器的对象. 8.1 window对象 window是BOM的核心对象,表示浏览器的一个实例. JavaScript访问浏览器窗口的接口 ECMAScript规 ...

  4. CLR垃圾收集器

    CLR GC是一种引用跟踪算法,大致步骤如下: 1.暂停进程中所有的线程: 2.标记阶段,遍历堆中的所有对象,标记为删除,然后检查所有活动根,如果有引用对象,就标记那个对象可达,否则不可达: 3.GC ...

  5. JDK8--08:Optional

    在程序运行时,空指针异常应该是最常见的异常之一,因此JDK8提供了Optional来避免空指针异常. 首先说明JDK8新增的Optional及相关方法的使用 Optional的常用操作: Option ...

  6. 车辆运动控制算法——MPC

    MPC是模型预测控制算法,在车辆运动跟踪轨迹的控制中发挥很大的优势 基础的不多说,下面记录我对LQR/MPC/二次规划问题的理解 我们从LQR来引出MPC LQR的能量函数,目的是求函数J最小,即用最 ...

  7. 【Flutter实战】自定义滚动条

    老孟导读:[Flutter实战]系列文章地址:http://laomengit.com/guide/introduction/mobile_system.html 默认情况下,Flutter 的滚动组 ...

  8. 关于 charset 的几种编码方式

    经常遇到charset=gb2312.charset=iso-8859-1.charset=utf-8这几种编码方式,它们有什么不同,看下面的图 编码方式 含义 charset=iso-8859-1 ...

  9. linux就该这么学 第一天学习笔记

    题外话 在每天的网上冲浪中,一次无意间的点击,发现了linux就该这么学的网站,然后就看了一晚上,当时还是学生的我特别想要参加培训,可是碍于眼前的经济状况,只得将这个想法深深的藏在了心里,并加了一下网 ...

  10. flask的小错误

    这几天刚学flask,根据录屏学代码的时候,遇到一个问题 基本能看懂错误,role_id是类的一个字段,应该是一个对象,最后发现是单词写错了,应该是大写的Column, db.Column(db.In ...