【2022每日分享day26】字符串常用函数
河北大学2022寒假萌新程序设计训练每日知识分享-day26
每日分享——字符串常用函数一、转置、截取、匹配函数1.reserve()转置函数用于反转在[first,last)范围内的字符串(包括first指向的元素,不包括last指向的元素),
12string s="Hello,World";reverse(s.begin(),s.end());
2.substr()截取函数头文件#include<string>(1)字符串截取函数,从下表i开始,截取到长度为n的字符串。形式
1s.substr(i,n);
(2)表示从下标5开始一直到字符串结束
1string sub1=s.substr(5);
(3)s1截取整个s函数
1string s1=s.substr();
3.strstr()函数strstr(string1, string2)是查看string2串是否是string1串的子串,如果是的话返回string2串在string1串中的第一zhi个字符位置处的指针,否则返回null。
二、插入、删除函数1.insert()函数string s = “hel ...
【2022寒假精进训练-7】7-10 网红点打卡攻略
一个旅游景点,如果被带火了的话,就被称为“网红点”。大家来网红点游玩,俗称“打卡”。在各个网红点打卡的快(省)乐(钱)方法称为“攻略”。你的任务就是从一大堆攻略中,找出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略。
输入格式:首先第一行给出两个正整数:网红点的个数 N(1<N≤200)和网红点之间通路的条数 M。随后 M 行,每行给出有通路的两个网红点、以及这条路上的旅行花费(为正整数),格式为“网红点1 网红点2 费用”,其中网红点从 1 到 N 编号;同时也给出你家到某些网红点的花费,格式相同,其中你家的编号固定为 0。
再下一行给出一个正整数 K,是待检验的攻略的数量。随后 K 行,每行给出一条待检攻略,格式为:
n V1 V2 ⋯ Vn
其中 n(≤200) 是攻略中的网红点数,Vi 是路径上的网红点编号。这里假设你从家里出发,从 V1 开始打卡,最后从 Vn 回家。
输出格式:在第一行输出满足要求的攻略的个数。
在第二行中,首先输出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略的序号(从 1 开始),然后输出这个攻略的总路费,其间以一个空格分隔 ...
【2022寒假精进训练-7】7-9 简单计算器
本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1 存放数字,另一个堆栈 S2 存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:
从 S1 中弹出两个数字,顺序为 n1 和 n2;
从 S2 中弹出一个运算符 op;
执行计算 n2 op n1;
将得到的结果压回 S1。
直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。
输入格式:输入首先在第一行给出正整数 N(1<N≤103),为 S1 中数字的个数。
第二行给出 N 个绝对值不超过 100 的整数;第三行给出 N−1 个运算符 —— 这里仅考虑 +、-、*、/ 这四种运算。一行中的数字和符号都以空格分隔。
输出格式:将输入的数字和运算符按给定顺序分别压入堆栈 S1 和 S2,将执行计算的最后结果输出。注意所有的计算都只取结果的整数部分。题目保证计算的中间和最后结果的绝对值都不超过 109。
如果执行除法时出现分母为零的非法操作,则在一行中输出:ERROR: X/0,其中 X 是当时的分子。然 ...
【2022每日分享day25】C++常用库函数
河北大学2022寒假萌新程序设计训练每日知识分享-day25
每日分享——C++常用库函数
【2022每日分享day24】字符编码
河北大学2022寒假萌新程序设计训练每日知识分享-day24
每日分享——字符编码字符串比较特殊的是还有一个编码问题。
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。
由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。
但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显 ...
【2022每日分享day23】C和C++取整函数
河北大学2022寒假萌新程序设计训练每日知识分享-day23
每日分享—— C/C++取整函数
【2022每日分享day22】everything 文件搜索工具
河北大学2022寒假萌新程序设计训练每日知识分享-day22
每日分享—— everything 文件搜索工具Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”,相较于Windows自带的搜索工具,这款大小不到2M的软件的速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果。
它体积小巧免费,支持中文,支持正则表达式,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。
everything就是“万物”,万物皆可搜,且,以迅雷不及掩耳之势给你搜出来,它就是everything。
官网下载地址:https://www.voidtools.com/zh-cn/downloads/ ,也可在群文件进行下载。
【2022每日分享day21】Atcoder算法竞技平台介绍
河北大学2022寒假萌新程序设计训练每日知识分享-day21
每日分享—— Atcoder算法竞技平台介绍AtCoder是日本最大的算法竞技网站,也是全球第二流行的算法竞技网站。AtCoder的域名是http://atcoder.jp/ (注意http://www.atcoder.jp/ 是其官网,不是比赛网站)。AtCoder支持日语和英语。
AtCoder的比赛有四大类:
(1)AtCoder Beginner Contest(ABC),主要面向算法初学者。每周六或周日20点举行,时长100分钟。通常是8道题,AtCoder积分在0~1999区间的选手参与这种比赛,积分会根据做题结果而涨或跌。
(2)AtCoder Regular Contest (ARC),主要面向有一定算法基础的选手。举办频率低于AtCoder Beginner Conste,每半个月举办两次左右。每周六或周日20点左右开始,时长120分钟。通常是6道题。ARC对标Codeforces Div2。
(3)AtCoder Grand Contest(AGC),主要面向较高水平的选手。每两个月左右举办一次。举办 ...
【2022寒假萌新训练-4】7-6 统计字母比例
单链表是一种数据结构,由若干个结点组成。每个结点包含数据和下一个结点的地址。从头结点开始,通过下一个结点的地址找到下一个结点,如此循环,直到下一个结点的地址为空。
现给出一个单链表,每个结点包含的数据是一个字符(大写英文字母)。求该链表上的结点数据中各个字母所占比例。
输入格式:第一行给出链表第一个结点的地址H和要给出的结点总个数N。其中结点地址H用5位非负整数表示,N为不大于10000的正整数。 之后N行,每行按如下格式给出结点信息:
Address Data Next
Address为结点地址,Data为A-Z中的一个字母,Next为下一个结点的地址,Address和Next格式同H。当Next为-1时表示该结点没有下一个结点,链表遍历结束。
输出格式:按A-Z的顺序,按以下格式输出各个字母所占比例:
Character Percentage
其中Character为英文字母, Percentage为百分比,保留到小数点后2位。中间以空格分隔。 如果该字母没有出现过,则不输出。
输入样例:123456789101100001 1001044 E 0105500100 C 01011 ...
【2022寒假萌新训练-4】7-5 彩虹瓶
彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。
假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是就取下来装填,否则去工厂里再搬一箱过来。
如果工厂里发货的顺序比较好,工人就可以顺利地完成装填。例如要按顺序装填 7 种颜色,工厂按照 7、6、1、3、2、5、4 这个顺序发货,则工人先拿到 7、6 两种不能装填的颜色,将其按照 7 在下、6 在上的顺序堆在货架上;拿到 1 时可以直接装填;拿到 3 时又得临时码放在 6 号颜色箱上;拿到 2 时可以直接装填;随后从货架顶取下 3 进行装填;然后拿到 5,临时码放到 6 上面;最后取了 4 号颜色直接装填;剩下的工作就是顺序从货架上取下 5、6、7 依次装填。
但如 ...