字符串类的问题也是各个院校必考的题型之一,基本上有以下这些考点:
1、统计字符个数
2、单词首字母大写
3、统计子串出现次数
解析:考察大家基础的字符串遍历能力。
4、文本加密/解密
解析:通过循环往后移动x位或直接给一个映射表是比较常见的考法。
5、文本中的单词反序
解析:灵活使用string可以秒杀这类题目,当然也可以用字符串一步步解析。
6、删除字符串(大小写模糊)
解析:如果大小写不模糊,那么就是直接找到之后删除。大小写模糊的话,只是多一个判断。
加密算法
题目描述:
编写加密程序,加密规则为:将所有字母转化为该字母后的第三个字母,即A->D、B->E、C->F、......、Y->B、Z->C。小写字母同上,其他字符不做转化。输入任意字符串,输出加密后的结果。
例如:输入"I love 007",输出"L oryh 007"
输入描述:
输入一行字符串,长度小于100。
输出描述:
输出加密之后的结果。
输入样例#:
I love 007
输出样例#:
L oryh 007
题目来源:
DreamJudge 1014
题目解析:这是一道很常见的加解密考法,往后移动3位是这道题的核心,我们只需要按照题意将大写字母、小写字母、和其他分开进行处理就可以,具体看代码。
参考代码
#include <stdio.h>
#include <string.h>
int main() {
char s[105];
gets(s);//输入一行文本用gets
int len = strlen(s);
for (int i = 0; i < len; i++) {
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] += 3;
if (s[i] > 'Z') s[i] -= 26;
}
else if (s[i] >= 'a' && s[i] <=
s[i] += 3;
if (s[i] > 'z') s[i] -= 26;
}
else {
continue;
}
}
puts(s);
return 0;
}
练习题目
DreamJudge 1012 字符移动
DreamJudge 1292 字母统计
DreamJudge 1240 首字母大写
DreamJudge 1394 统计单词
DreamJudge 1027 删除字符串2
登录后开始许愿
暂无评论,来抢沙发