由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字符串为ABCDEF,第二个为CDE, 则CDE包含在ABCDEF中),现要求编程输出第二字符串在第一行字符串中出现的位置。 (如果第二个字符串在第一个字符串中出现多次,则以最前出现的为准)
时间: 2024-11-18 14:13:49 浏览: 20
为了实现这个功能,你可以使用编程语言中的遍历和字符串搜索算法。这里以Python为例来展示如何编写这样的程序:
```python
def find_substring_positions(main_string, substring):
position = main_string.find(substring)
if position == -1:
print("Substring not found.")
else:
while True:
yield position
# 找到下一个子串位置,substring开头向后查找
position = main_string.find(substring, position + 1)
# 示例
main_string = input("请输入第一个字符串(例如 ABCDEF): ")
substring = input("请输入第二个字符串(例如 CDE): ")
positions = find_substring_positions(main_string, substring)
first_occurrence = next(positions) # 获取第一次出现的位置
print(f"{substring} 在 {main_string} 中首次出现的位置是: {first_occurrence}")
# 如果有其他出现,可以继续打印所有出现的位置
# for occurrence in positions:
# print(f"再次出现的位置是: {occurrence}")
```
在这个程序中,我们首先定义了一个名为`find_substring_positions`的生成器函数,它会持续返回子串在主字符串中首次出现的位置。然后通过`input`获取用户输入的两个字符串,并调用生成器找到第一次出现的位置。
如果需要显示所有出现的位置,可以将生成器中的循环添加到`for`循环里,打印出每个发现的位置。
阅读全文