统计单词出现次数——C++-创新互联

原题:

编程统计输入句子中出现“lanqiao”字样的个数。(注意,“lanqiao”字样可以是不同大小写字母的组合,例如:LanQIAO、LanQiao等)

目前创新互联建站已为近1000家的企业提供了网站建设、域名、虚拟主机绵阳服务器托管、企业网站设计、鸠江网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

输入描述: 输入一个字符串(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; i

3.判断语句

//比较字母是否相同
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://hbruida.cn/article/csccsd.html