c++# 验证子串 ## 题目描述 输入两个字符串,验证其中一个串是否为另一个串的子串。 ## 输入格式 两行,每行一个字符串。 ## 输出格式 若第一个串 $s_1$ 是第二个串 $s_2$ 的子串,则输出`(s1) is substring of (s2)`; 否则,若第二个串 $s_2$ 是第一个串 $s_1$ 的子串,输出`(s2) is substring of (s1)`; 否则,输出 `No substring`。 ## 样例 #1 ### 样例输入 #1 ``` abc dddncabca ``` ### 样例输出 #1 ``` abc is substring of dddncabca ``` ## 样例 #2 ### 样例输入 #2 ``` aaa bbb ``` ### 样例输出 #2 ``` No substring ``` ## 提示 对于 $100 \%$ 的数据,字符串长度在 $20$ 以内。
时间: 2023-07-29 10:12:51 浏览: 72
您好,以下是一个使用 C++ 编写的验证子串的程序:
```cpp
#include <iostream>
#include <string>
using namespace std;
string checkSubstring(string s1, string s2) {
if (s2.find(s1) != string::npos) {
return s1 + " is substring of " + s2;
} else if (s1.find(s2) != string::npos) {
return s2 + " is substring of " + s1;
} else {
return "No substring";
}
}
int main() {
string s1, s2;
getline(cin, s1);
getline(cin, s2);
string result = checkSubstring(s1, s2);
cout << result << endl;
return 0;
}
```
您可以使用 `getline(cin, s1)` 来获取输入的字符串,然后将两个字符串传递给 `checkSubstring` 函数进行验证,并输出结果。
希望对您有帮助!如果还有其他问题,请随时提问。
相关问题
输入两个字符串,验证其中一个串是否为另一个串的子串。C++
可以使用C++中的string的find函数来判断一个字符串是否为另一个字符串的子串。具体实现如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cin >> s1 >> s2;
if (s1.find(s2) != string::npos) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
```
其中,find函数返回一个字符串中是否找到了另一个字符串的位置,如果找到了则返回该字符串的起始位置,否则返回string::npos。如果返回的不是npos,则说明s2是s1的子串。
输入两个字符串s1和$2。验证其中一个字符串是否是另一个字符串的子串。用c++
在C++中,验证一个字符串`s1`是否是另一个字符串`s2`的子串,可以使用`substr()`函数或者直接遍历的方式。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
bool isSubstr(const std::string &s1, const std::string &s2) {
// 使用substr()函数检查s1是否是s2的子串
if (s2.find(s1) != std::string::npos) {
return true;
} else {
return false;
}
}
int main() {
std::string s1 = "hello";
std::string s2 = "world hello";
if (isSubstr(s1, s2)) {
std::cout << s1 << " is a substring of " << s2 << std::endl;
} else {
std::cout << s1 << " is not a substring of " << s2 << std::endl;
}
return 0;
}
```
在这个例子中,`find()`函数用于查找`s1`在`s2`中的位置。如果找到(返回值不是`std::string::npos`),则说明`s1`是`s2`的子串。
阅读全文