[题] [NOIP2011] 统计单词数

本文提供三种方法实现C++统计字符串中指定单词出现的次数及最早出现的位置,包括纯字符数组处理、处理大小写问题以及使用string的substr方法。通过实例代码详细解析每种方法的实现过程。
摘要由CSDN通过智能技术生成

不用string  用string 方法对比

//1.1 不用string 纯笨办法

#include<iostream>

#include<cstdio>

#include<string>

#include<cstring>

using namespace std;

char word[11];

char str[1000001];//如果声明为局部变量,需memset

int pos=-1;//最早位置

bool check(int ps,int pa) {//ps字符串游标    pa单词游标

       char t1,t2;

       while(str[ps]!='\0'&&word[pa]!='\0') {

              t1=min(str[ps],word[pa]);

              t2=max(str[ps],word[pa]);

              if(t1==t2||t1+32==t2) {//处理大小写

                     ps++;

                     pa++;

              } else {

                     return false;

              }

       }

       if((str[ps]==' '||str[ps]=='\0')&&word[pa]=='\0') return true;

       else return false;

}

int main() {

       freopen("stat.in","r",stdin);

       freopen("stat.out","w",stdout);

       cin>>word;

       cin.get();   //过滤掉上一个cin最后的空格

       cin.g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值