编写一个函数,其功能是统计一个子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"this is a string",子字符串为"is",则应输出2。代码并解释
时间: 2023-04-05 11:00:42 浏览: 57
以下是编写的函数代码:
```c
int countSubstr(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;
}
```
解释:
该函数的参数为两个字符串指针,分别表示原字符串和子字符串。函数中使用了一个计数器 count,初始值为 0。然后获取原字符串和子字符串的长度,分别为 len1 和 len2。接着使用一个 for 循环遍历原字符串,从第一个字符开始,每次比较原字符串中以当前字符为起点的子字符串是否与给定的子字符串相同,如果相同,则计数器加 1。最后返回计数器的值即可。
注意:该函数中使用了 C 语言中的字符串函数 strlen 和 strncmp,需要包含头文件 string.h。
相关问题
编写一个函数,输入一个字符串、返回字符串中每个字符出现的次数
以下是 Python 代码实现:
```python
def count_characters(string):
"""
输入一个字符串,返回字符串中每个字符出现的次数
"""
# 初始化一个空字典,用于记录每个字符出现的次数
char_count = {}
# 遍历字符串中的每个字符
for char in string:
# 如果该字符已经出现过,将其次数加1
if char in char_count:
char_count[char] += 1
# 如果该字符还没有出现过,将其次数设为1
else:
char_count[char] = 1
# 返回结果
return char_count
```
调用函数进行测试:
```python
string = "hello world"
print(count_characters(string))
# 输出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
```
编写一个函数fun其功能是删除字符串中的数字字符
好的,下面是一个删除字符串中数字字符的Python函数实现:
```python
def fun(s):
res = ""
for c in s:
if not c.isdigit():
res += c
return res
```
该函数使用一个循环遍历输入字符串中的每个字符,如果该字符不是数字字符,则将其添加到结果字符串中。最后,返回结果字符串作为函数的输出。