题目
样例输入
4
she wo qi shui nian nian you wei
zhe ju hua li mei you xie yin zi
shi quan shi mei
SHILaiYunZhuan
样例输出
she wo qi shui nian nian you wei
shi quan shi mei
SHILaiYunZhuan
难点分析
- 输入中有空格,不可以直接采用cin进行输入
- 需要找到"shi"和"she"两种字符并不区分大小写
- 需要输出原来字符串
- 解决办法
- 用getline来输入,但是注意输入前不能有"\n",如果有可以用getchar()
- 先将字符串转换为小写字符,再用find来查找
- 在转换之前先保存原来字符串
代码
using namespace std;
#include <iostream>
#include <string>
int main()
{
//输入
int n;
cin >> n;
getchar();
string c1 = "shi", c2 = "she";//目标字符
for (int i = 0; i < n; i++)
{
string s;
getline(cin, s);//输入中有空格
string line = s;
//把字符串全部变为大写或小写
for (char& c : s)//
{
c=tolower(c);
}
//寻找字符
int p1 = s.find(c1);
int p2 = s.find(c2);
//判断是否找到,找到后输出
if (p1 == std::string::npos && p2 == std::string::npos)
;
else
cout << line << endl;
}
}