前言
字符串
每一年的比赛中都会有所涉及
显得它十分的重要
这里会有十分详细的讲解
温馨提示:string虽然好用,但是时间复杂度是比字符数组高的,但是在普及组比赛中不会卡这个东西的
一、字符串是什么?
一般来说
二、字符串详讲
1.string头文件和与它相关的常用函数
字符串string的头文件是(不是,cstring是char数组函数的头文件)
而他的函数有:
string a; 生成空字符串
string s(strs) 将strs的内容复制到s中
str.length() 返回str的长度(与size()等同)
getline(str) 输入str(带空格一起输入)
insert(pos,str) 在原串下标为pos的字符前插入字符串str
insert(pos,str,pos1,n) str从下标为pos1开始数的n个字符插在原来下标为pos的字符前
insert(pos,n,c) 在原串下标为破碎带字符前插入n个字符c
substr() 将原字符串的所有内容复制到给子字符串
substr(pos) 将字符串从pos位置开始的内容复制给子字符串
substr(pos,len) 将原字符串从pos位置开始的len个字符复制给子字符串
find(ch,pos=0) 从自付出的pos位置开始,查找字符ch
assign(str) 将str替换原字符串的内容
assign(str,pos,n) 用字符串str从pos开始的n个字符替换原字符串
assign(n,c) 将原字符串中替换为n个字母c
isalpha() 判断字符是否为字母(在头文件<ctype>)
isupper()/islower() 判断大写/小写(在头文件<ctype>)
isdigit() 判断某个字符是否为十进制数字
isalnum() 判断某个字符是否是字母或十进制数字
2.例题小讲
简单题目(1)
题目:
“有时候,长得太帅也是一种罪。今天,我在学校的文字游戏上面取得了冠军,大家都以为我是火眼
金睛,谁能想到我是通过学习信息学,写了一个查找两个字符串中指定字符的个数差的程序,才不费
吹灰之力地赢得了本次比赛。嘿嘿,我可真厉害。不说啦,今晚得温习一下这个程序,回味回味冠军
的感觉~”
输入格式:
第一行一个句子,只包含大小写字母和空格
第二行一个句子,只包含大小写字母和空格
第三行一个字符,表示指定的字符,保证是大写字母或小写字母
字符串长度小于1e6
输出格式:
一个正整数,两个字符串中指定字符的个数差
限制:
空间限制:128MByte
时间限制:1秒