字符串问题
字符串问题
化身孤岛的鲸o
我祈祷拥有一颗透明的心灵
展开
-
C++ String头文件详解
对于一些喜欢用c++编程或者做题的人来说,字符串string是经常要用到的。所以我们要了解其中的一些函数以及使用方法清单一,声明:(1)string s ...原创 2020-01-30 20:53:39 · 3461 阅读 · 0 评论 -
C语言关于字符数组、字符串初始化赋值的一些知识点
(1)什么是字符数组?字符数组是指用来存放字符数据的数组。其定义的一般形式为: char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的,所以字符串有两种声明方式,一种是字符数组,一种是字符指针。(2)关于字符数组的初始化直接逐个初始化字符数组:char ch[11...原创 2020-01-30 18:39:38 · 3156 阅读 · 0 评论 -
C和C++中字母、字符数组、字符串关于大小写的转换
一、使用C语言(1)把小写字母转换成大写字母方法一:使用ASCII码转换。int main(){ char c='a'; char ch=c-32; printf("%c %c",c,ch); return 0;}输出结果:方法二:使用C语言提供的函数:toupper()和tolower()需要使用#include<ctype.h>...原创 2020-01-30 15:42:15 · 6528 阅读 · 0 评论 -
PAT甲级 1140 Look-and-say Sequence 字符串
代码如下://字符串#include<iostream>#include<stdio.h>#include<string>using namespace std;int d,n;int main(){ cin>>d>>n; int cnt=1; string last_s=""; las...原创 2019-11-16 00:13:20 · 229 阅读 · 0 评论 -
PAT甲级 1136 A Delayed Palindrome 字符串+模拟
代码如下:#include<iostream>#include<stdio.h>#include<string>#include<algorithm>using namespace std;bool judge(string s){ string rev_s=s; reverse(rev_s.begin(),rev_...原创 2019-11-16 00:08:47 · 178 阅读 · 0 评论 -
PAT甲级 1112 Stucked Keyboard 思维+map
题目大意:给出一个正整数k,再给出一个字符串,若这个字符串中的某个字符总是连续出现k(1<k<=100)个,则这个字符是“坏”的,我们需要在最后输出所有“坏”的字符,然后输出正确的字符串,也就是只保留一个“坏”的字符。代码如下:#include<iostream>#include<string>#include<map>#includ...原创 2019-10-21 14:13:02 · 177 阅读 · 0 评论 -
PAT甲级 1100 Mars Numbers 字符串模拟
代码如下://字符串模拟#include<iostream>#include<string>#include<map>#include<stdio.h>#include<string.h>using namespace std;string first[12]={"tam","hel","maa","huh","to...原创 2019-09-30 20:56:10 · 179 阅读 · 0 评论 -
PAT甲级 1093 Count PAT's 思维
Solution:题目大意:给出一个字符串s(只包含“P"“A”"T”),输出这个字符串包含多少个“PAT”。我们可以记录所有"A"出现的位置。同时用两个数组num_p,num_t记录每一个位置前面出现的“P”的个数以及每一个位置后面出现的"T"的个数。我们再根据记录的所有“A”的位置i,res+=num_p[i] * num_t[i]。代码如下://思维#include<i...原创 2019-09-11 00:34:10 · 182 阅读 · 0 评论 -
PAT甲级 1084 Broken Keyboard 字符串处理
Solution:给出两个字符串s1,s2。s1为目标字符串,s2会缺失一些字符,输出这些缺失的字符。不知道怎么回事过不去一个点。。。。代码如下://字符串 map//不知怎么过不去一个点= =#include<iostream>#include<map>#include<string>using namespace std;int m...原创 2019-09-01 17:59:08 · 187 阅读 · 0 评论 -
PAT甲级 1077 Kuchiguse 找多个字符串的相同后缀
Solution:题目要求:找出n个字符串的相同后缀,若没有,则输出“nai”。先把所有字符串反转,这样就可以从第一个字符开始判断,否则字符串长度不确定从最后一个不好遍历。外层循环是当前所判断的字符位置,内层循环是n个字符串。代码如下://找多个字符串的相同后缀#include<iostream>#include<string>#include<...原创 2019-09-01 17:38:27 · 262 阅读 · 0 评论 -
PAT甲级 1061 Dating 模拟+字符串
简单的模拟题,读懂题就好了。代码如下:#include<iostream>#include<string>#include<math.h>#include<stdio.h>using namespace std;string s1,s2,s3,s4;int main(){ cin>>s1>>s...原创 2019-09-01 11:22:25 · 191 阅读 · 0 评论 -
PAT甲级 1040 Longest Symmetric String 最长回文子串 动态规划或者暴力
Solution:找字符串中的最长对称字符子串。易忽略偶数对称情况,例如样例是"abccba"或者"abcdcba"的情况。所以分两次遍历,一次是奇数对称情况,一次是偶数对称情况。代码如下:#include<iostream>#include<string>using namespace std;int main(){ string s; ...原创 2019-08-31 16:15:38 · 219 阅读 · 0 评论 -
PAT甲级 1038 Recover the Smallest Number 字符串排序
Solution:题目要求:给出n个数字段,每个数字段不超过8位,求一个最小的数能覆盖所有的数字段。解题思路:1.以字符串的方式读入,关键是用到string的排序方法。2.将读入拼接到一起后,删除前面的零。3.当全部删除与以后要特判输出0。代码如下:#include<iostream>#include<string>#include<algor...原创 2019-08-31 15:59:05 · 162 阅读 · 0 评论 -
PAT甲级 1035 Password 模拟+字符串处理
Solution:题目要求:给出一组字符串,要求对它们进行如下处理:(1)把1变为@(2)把0变为%(3)把小写l变为大写L(4)把0变为小写o输入:正整数n表示有n个字符串,接下来n行,每行包含两个字符串,第一个为name,第二个为需要修改的字符串。输出:如果没有修改的字符串,则输出“There are N accounts and no account is modifie...原创 2019-08-31 14:17:28 · 232 阅读 · 0 评论 -
PAT甲级 1022 Digital Library 字符串模拟
代码如下://模拟#include<iostream>#include<string>#include<string.h>#include<stdio.h>#include<algorithm>using namespace std;int n;//书的数量int m;//m为查询的数量struct boo...原创 2019-05-11 00:10:01 · 203 阅读 · 0 评论