编写一个程序,输入两个字符串 s1 和 s2 ,判断 s2 是否是 s1 的子串,如果是,则输出 s2 在 s1 中的起始位置。否则输出 0
时间: 2024-02-25 10:56:26 浏览: 71
好的,以下是 Python 和 C 语言的代码实现:
Python 代码实现:
```python
def find_substring(s1, s2):
if s2 in s1:
return s1.index(s2) + 1
else:
return 0
# 测试代码
s1 = "hello world"
s2 = "world"
print(find_substring(s1, s2)) # 输出 7
s1 = "hello world"
s2 = "python"
print(find_substring(s1, s2)) # 输出 0
```
在上面的代码中,`find_substring` 函数接受两个字符串参数 `s1` 和 `s2`,判断 `s2` 是否是 `s1` 的子串。如果是,返回 `s2` 在 `s1` 中的起始位置;否则返回 0。
在测试代码中,我们分别将 `s1` 设置为 "hello world",`s2` 设置为 "world" 和 "python",分别测试了程序的正确性。
C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int find_substring(char *s1, char *s2) {
char *p = strstr(s1, s2);
if (p != NULL) {
return p - s1 + 1;
} else {
return 0;
}
}
// 测试代码
int main() {
char s1[] = "hello world";
char s2[] = "world";
printf("%d\n", find_substring(s1, s2)); // 输出 7
char s3[] = "hello world";
char s4[] = "python";
printf("%d\n", find_substring(s3, s4)); // 输出 0
return 0;
}
```
在上面的代码中,`find_substring` 函数接受两个字符指针 `s1` 和 `s2`,使用 `strstr` 函数判断 `s2` 是否是 `s1` 的子串。如果是,返回 `s2` 在 `s1` 中的起始位置;否则返回 0。
在测试代码中,我们分别将 `s1` 设置为 "hello world",`s2` 设置为 "world",`s3` 设置为 "hello world",`s4` 设置为 "python",分别测试了程序的正确性。
阅读全文