给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。 你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串 S,由大小写英文字母组成。 第二行包含一个数字,表示大小写敏感的选项,当数字为 0时表示大小写不敏感,当数字为 1时表示大小写敏感。 第三行包含一个整数 n,表示给出的文字的行数。 接下来 n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。 输出格式 输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串 S的行。
时间: 2024-02-28 07:54:59 浏览: 144
好的,我理解了你的问题。以下是一个Python的程序实现,可以解决你的问题:
```python
s = input().strip()
case_sensitive = int(input())
n = int(input())
results = []
for i in range(n):
line = input().strip()
if not case_sensitive:
s = s.lower()
line = line.lower()
if s in line:
results.append(line)
for result in results:
print(result)
```
这个程序首先读入字符串 `s`,大小写敏感的选项 `case_sensitive`,以及文字的行数 `n`。然后,它遍历每一行文字,如果字符串 `s` 在这一行中出现,就把这一行加入到结果列表中。最后,程序按照结果列表中的顺序输出包含字符串 `s` 的行。如果大小写敏感的选项被打开,程序会区分大小写;否则,程序会把所有字母都转化为小写字母,从而忽略大小写。
希望这个程序能够解决你的问题。
相关问题
给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
题目中给出一个字符串和多行文字,要在这些文字中找到字符串出现的那些行。你的程序还需要支持大小写选择项:当选择项打开时,表示同一字母的大写和小写看作不同的字符;否则则表示同一字母的大写和小写看作相同的字符。
用c++写给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
在C++中,你可以创建一个函数来实现这个功能。下面是一个简单的示例,它使用`std::string`处理输入的字符串,并遍历多行文本,检查每行是否包含目标字符串。这里我们假设一个多行文本存储在一个`std::vector<std::string>`里。对于大小写敏感性的选项,我们可以提供一个布尔值作为参数来控制比较。
```cpp
#include <iostream>
#include <vector>
#include <string>
bool isCaseSensitive = false; // 默认大小写不敏感
void findStringInText(const std::string& target, const std::vector<std::string>& textLines) {
for (const auto& line : textLines) {
if (isCaseSensitive) {
if (line.find(target) != std::string::npos) {
std::cout << "Line " << textLines.size() - static_cast<int>(textLines.begin() - &line) << ": " << line << std::endl;
}
} else {
size_t targetLower = target.size();
for (size_t i = 0; i < target.size(); ++i) {
targetLower += tolower(line[i]) == tolower(target[i]);
}
if (targetLower == target.size()) {
std::cout << "Line " << textLines.size() - static_cast<int>(textLines.begin() - &line) << ": " << line << std::endl;
}
}
}
}
int main() {
std::string targetString = "Hello";
std::vector<std::string> text = {"Hello World", "Hi there", "hello again", "Goodbye cruel world"};
bool caseSensitiveOption = true; // 示例:开启大小写敏感
isCaseSensitive = caseSensitiveOption;
findStringInText(targetString, text);
return 0;
}
```
在这个例子中,用户可以修改`isCaseSensitive`的值来切换大小写敏感模式。然后调用`findStringInText`函数,传入目标字符串和文本数组。
阅读全文
相关推荐

















