用函数编程实现计算字符串中子串出现的次数。 函数原型: int FindString(char *str,char *sub) 要求: 在主函数中输入字符串和子串,调用FindString()函数,输出子串出现的次数。 输入格式:"%c" 输出格式:"%d\n" 程序运行示例: hbbbbbabcab ab 2
时间: 2024-03-22 22:43:01 浏览: 130
计算字符串中子串出现的次数
5星 · 资源好评率100%
好的,我已经理解了你的问题。这里是一个用函数编程实现计算字符串中子串出现次数的示例代码:
```
#include <stdio.h>
#include <string.h>
int FindString(char *str, char *sub) {
int count = 0;
int len1 = strlen(str);
int len2 = strlen(sub);
if (len1 < len2) return 0;
for (int i = 0; i <= len1 - len2; i++) {
if (strncmp(str + i, sub, len2) == 0) {
count++;
}
}
return count;
}
int main() {
char str[100], sub[100];
scanf("%s %s", str, sub);
int count = FindString(str, sub);
printf("%d\n", count);
return 0;
}
```
在这个程序中,我们定义了一个名为 `FindString` 的函数,它接受两个参数,即要搜索的字符串和要查找的子串。函数会遍历整个字符串,使用 `strncmp` 函数比较每个可能的子串是否与给定的子串匹配。如果找到了匹配的子串,计数器就会增加。最后,函数返回子串出现的次数。
在 `main` 函数中,我们首先输入要搜索的字符串和要查找的子串,然后调用 `FindString` 函数并将结果存储在 `count` 变量中。最后,我们输出 `count` 的值。
当我们输入“hbbbbbabcab”和“ab”时,程序将输出“2”,这表明子串“ab”在字符串“hbbbbbabcab”中出现了两次。
阅读全文