编程统计输入句子中出现“lanqiao”字样的个数。(注意,“lanqiao”字样可以是不同大小写字母的组合,例如:LanQIAO、LanQiao等)
输入描述: 输入一个字符串(0≤字符串长度≤100)。
输出描述:输出该字符串中“lanqiao”字样出现的次数。(注意:“lanqiao”字样可以是不同大小写字母的组合)
【样例输入】
Lanqiaoqingshao, lanqiaojingsai, Lanqiaoceping.
【样例输出】
3
解题过程:1.基础条件
这个题目需要用到strlen ,所以要导入string.h 库,然后设置好基础变量;
#include#include//导入库
using namespace std;
int main(){
//基础变量
char aim[] = "lanqiao";
char str_[] = "Lanqiaoqingshao, lanqiaojingsai, Lanqiaoceping.";
//计数器
int num = 0;
//字符串长度
int a = strlen(aim);
int b = strlen(str_);
//这是一个临时变量,用于在循环中判断是非
bool bo = true;
return 0;
}
完成之后就开始循环计数的主体部分。
2.主循环:
只需要整一个循环嵌套,最外层是遍历被查找字符串,内层是对每一段进行比较。
//最外圈遍历循环
for(int i = 0; i3.判断语句
//比较字母是否相同
if (aim[j] != str_[i] && aim[j] != str_[i]+32){
}
重点:大小写之间相隔 32 个字符。
通过这个来初步筛选,但并不是一个字符相同就行,要整体相同,所以加上一个整体判断。前面的bool 变量就是用在这里的。
if (aim[j] != str_[i] && aim[j] != str_[i]+32){
bo = false;
break;
}else{
i++;
}
Ps:其实这里的 bo = false 可以省。
然后循环就会如下:
for(int i = 0; i最后在输出结果就可以了。
完整代码:
#include#includeusing namespace std;
int main(){
char aim[] = "lanqiao";
char str_[] = "Lanqiaoqingshao, lanqiaojingsai, Lanqiaoceping.";
int num = 0;
int a = strlen(aim);
int b = strlen(str_);
bool bo = true;
for(int i = 0; i这道题我用的就是最简单的线性查找,循环嵌套复杂度较高,但是便于理解。(高级算法我也不会)
求三连~
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前文章:统计单词出现次数——C++-创新互联
标题来源:http://bjjierui.cn/article/csccsd.html