设s、t 为两个字符串,两个字符串分为两行输出,判断t 是否为s 的子串。如果是,输出子串所在位置(第一个字符,字符串的起始位置从0开始),否则输出-1c语言
时间: 2023-11-20 11:34:19 浏览: 55
#include <stdio.h>
#include <string.h>
int main() {
char s[100], t[100];
scanf("%s %s", s, t);
int slen = strlen(s), tlen = strlen(t);
int i, j;
for (i = 0; i <= slen - tlen; i++) {
for (j = 0; j < tlen; j++) {
if (s[i + j] != t[j]) {
break;
}
}
if (j == tlen) {
printf("%d", i);
return 0;
}
}
printf("-1");
return 0;
}
相关问题
python设s、t 为两个字符串,两个字符串分为两行输出,判断t 是否为s 的子串。如果
如果t是s的子串,则输出"Yes";否则输出"No"。
思路:可以使用Python的字符串操作来判断t是否为s的子串。如果t是s的子串,那么可以使用字符串的`find()`方法来查找t在s中的位置,如果返回的索引值大于等于0,则可以判断t是s的子串。以下是具体的代码实现:
```python
s = input("请输入字符串s:")
t = input("请输入字符串t:")
if t in s: # 使用`in`操作符判断t是否为s的子串
print("Yes")
else:
print("No")
```
这段代码中,首先通过`input()`函数分别获取用户输入的s和t。然后使用`in`操作符判断t是否为s的子串,如果是,则输出"Yes";如果不是,则输出"No"。
注意:这里使用了`in`操作符进行子串判断,因为`in`操作符的实现使用了字符串的`find()`方法。在实际应用中,有时也可以使用字符串的`find()`方法来判断子串的位置,如果返回的索引值大于等于0,即可判断为子串。例如可以将代码修改为:
```python
s = input("请输入字符串s:")
t = input("请输入字符串t:")
if s.find(t) >= 0:
print("Yes")
else:
print("No")
```
以上两种方式都可以判断t是否为s的子串,可以根据实际需求选择合适的方法。
设s、t 为两个字符串,两个字符串分为两行输出,判断t 是否为s 的子串。如果是,输出子串所在位置(第一个字符,字符串的起始位置从0开始),否则输出-1
以下是Python的代码实现:
```python
s = input() # 输入字符串s
t = input() # 输入字符串t
if t in s: # 判断t是否为s的子串
print(s.index(t)) # 输出子串起始位置
else:
print(-1) # 输出-1表示不是子串
```
对于输入样例:
```
hello world
wor
```
输出结果为:
```
6
```
对于输入样例:
```
hello world
hi
```
输出结果为:
```
-1
```
阅读全文