用c++实现描述 输入两个字符串,验证第2个字符串是否为第1个字符串的子串。如果是则输出"yes",否则输出"no"。 输入描述 两个字符串,每个字符串占一行,长度不超过20。
时间: 2024-03-04 07:49:11 浏览: 35
好的,以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1, str2;
cin >> str1 >> str2;
if (str1.find(str2) != string::npos)
cout << "yes" << endl;
else
cout << "no" << endl;
return 0;
}
```
解释一下:
首先,我们使用 `string` 类型来存储输入的字符串。
然后,使用 `cin` 语句来分别读取两个字符串。
接下来,我们使用 `find` 函数来查找第二个字符串是否是第一个字符串的子串。`find` 函数返回子串在字符串中第一次出现的位置,如果没有找到则返回 `string::npos`。因此,如果返回值不等于 `string::npos`,则说明第二个字符串是第一个字符串的子串。
最后,根据查找结果输出 "yes" 或 "no"。
希望能帮到你!
相关问题
用C++实现描述 输入两个字符串,验证第2个字符串是否为第1个字符串的子串。如果是则输出"yes",否则输出"no"。 输入描述 两个字符串,每个字符串占一行,长度不超过20。
好的,以下是使用 C++ 实现的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1, str2;
cin >> str1 >> str2;
if (str1.find(str2) != string::npos)
cout << "yes" << endl;
else
cout << "no" << endl;
return 0;
}
```
解释一下:
首先,我们使用 `string` 类型来存储输入的字符串。
然后,使用 `cin` 语句来分别读取两个字符串。
接下来,我们使用 `find` 函数来查找第二个字符串是否是第一个字符串的子串。`find` 函数返回子串在字符串中第一次出现的位置,如果没有找到则返回 `string::npos`。因此,如果返回值不等于 `string::npos`,则说明第二个字符串是第一个字符串的子串。
最后,根据查找结果输出 "yes" 或 "no"。
希望能帮到你!
c++ 输入任意两个字符串S1和S2,请判断S2是否是S1的子串,是输出YES,不是输出NO。
好的,这是一个简单的字符串匹配问题,可以使用C++的string类和string的find函数来实现。以下是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
getline(cin, s1); // 输入第一个字符串
getline(cin, s2); // 输入第二个字符串
if (s1.find(s2) != string::npos) { // 如果s2是s1的子串
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
```
在上面的代码中,我们首先使用getline函数分别输入两个字符串s1和s2,然后使用string的find函数来查找s2在s1中的位置,如果返回值不为string::npos,说明s2是s1的子串,输出"YES",否则输出"NO"。