C++ P1308

P1308 [NOIP2011 普及组] 统计单词数

STL给了find函数,可以用啊。
by scp020 @ 2023-02-28 20:25:31


**试试我这样行吗,思路在下方** ```cpp #include <iostream> #include <string> //命名空间 using namespace std; int main(){ //定义两个字符串 string a; string b; //用string库,调用getline, 直接读入一整行 getline(cin,a); getline(cin,b); //转换大小写,可以都转换为大写,或者小写 for (int i=0;i<a.length();++i){ a[i]=tolower(a[i]); } for (int i=0;i<b.length();++i){ b[i]=tolower(b[i]); } //因为连起来的不算,所以要在前后加几个空格,一定要是同样多的,同量减同量,等于同量 a=' '+a+' '; b=' '+b+' '; //先看看会不会找不到,用a.find()和string::npos if (b.find(a)==string::npos){ cout<<-1<<endl; } //如果找得到 else { int alpha=b.find(a); int beta=b.find(a),s=0;//计数器初始化为0 while (beta!=string::npos){ ++s;//计数器 beta=b.find(a,beta+1); } cout<<s<<" "<<alpha<<endl;//输出第一个和总共有几个 } //函数返回值为0,结束整个程序 return 0; } ```
by juchenglin @ 2023-02-28 20:25:42


@[Mark_666](/user/632830) ```cpp if(find[i]>='A'&&find[i]<='Z') find[i]-=32; ``` 大神!'a'和'A'怎么互相转换啊??!!
by Rieman_sum @ 2023-02-28 20:41:36


@[Guo1](/user/743879) 记错了。。。。
by Mark_666 @ 2023-02-28 20:43:37


@[scp020](/user/553625) 具体怎么使用啊
by Mark_666 @ 2023-02-28 20:44:17


@[juchenglin](/user/580868) string::npos是什么意思啊
by Mark_666 @ 2023-02-28 20:49:12


@[Mark_666](/user/632830) CSDN上又,可以自己查一下。
by scp020 @ 2023-02-28 20:54:43


@[Mark_666](/user/632830) npos是没找到的意思
by scp020 @ 2023-02-28 20:55:00


@[Mark_666](/user/632830) npos 就是没有找到位置,no position,缩写。 find函数查找,没找到就返回-1。 为了兼容c++各个版本,就写string::npos
by homi @ 2023-03-02 07:54:07


@[juchenglin](/user/580868) a=' '+a+' '; b=' '+b+' '; 啥意思
by wing_yhc @ 2023-05-11 17:09:06


|