计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串和要查找的子串的指针,返回次数。
时间: 2023-11-20 13:07:26 浏览: 233
以下是Python代码实现:
```python
def subString(s: str, sub: str) -> int:
count = 0
i = 0
while i < len(s):
j = s.find(sub, i)
if j == -1:
break
count += 1
i = j + 1
return count
```
其中,s为原始字符串,sub为要查找的子串,函数返回子串出现的次数。
函数内部使用了字符串的find()方法,从指定位置开始查找子串出现的位置。如果找到了,计数器加1,继续从下一个位置开始查找;如果没找到,退出循环。
示例:
```python
s = "hello world, world is beautiful world"
sub = "world"
print(subString(s, sub)) # 输出: 3
```
相关问题
计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串和要查找的子串的指针,返回次数
。好的,这个问题是一个计算型问题,可以直接回答。下面是代码实现:
```
#include <iostream>
using namespace std;
int subString(char* str, char* substr) {
int count = 0;
int len_str = strlen(str);
int len_sub = strlen(substr);
for (int i = 0; i <= len_str - len_sub; i++) {
bool is_match = true;
for (int j = 0; j < len_sub; j++) {
if (*(str+i+j) != *(substr+j)) {
is_match = false;
break;
}
}
if (is_match == true) {
count++;
}
}
return count;
}
int main() {
char str[] = "I love programming, programming is fun!";
char substr[] = "ming";
int count = subString(str, substr);
cout << "The count of substring \"" << substr << "\" in string \"" << str << "\" is: " << count << endl;
return 0;
}
```
这个程序实现了一个名为`subString`的子函数,来计算字符串中子串出现的次数。主函数中以“programming”为例,输出了计算结果,即输出了子串“ming”在字符串“I love programming, programming is fun!”中出现的次数。希望这个回答能够解决你的问题。
C++代码:计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串和要查找的子串的指针,返回次数。
以下是实现该功能的C++代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int subString(char* str, char* subStr) {
int count = 0;
int len1 = strlen(str);
int len2 = strlen(subStr);
for (int i = 0; i <= len1 - len2; i++) {
if (strncmp(str + i, subStr, len2) == 0) {
count++;
}
}
return count;
}
int main() {
char str[100], subStr[100];
cout << "请输入字符串:";
cin.getline(str, 100);
cout << "请输入要查找的子串:";
cin.getline(subStr, 100);
int count = subString(str, subStr);
cout << "子串出现的次数为:" << count << endl;
return 0;
}
```
首先定义了一个名为`subString`的子函数,该函数接受两个参数:指向字符串和要查找的子串的指针。函数内部使用`strncmp`函数来比较字符串的子串是否与要查找的子串相等,如果相等,就将计数器加1。最后返回计数器的值。
在主函数中,输入字符串和要查找的子串,调用`subString`函数来计算子串出现的次数,并输出结果。
阅读全文