用函数编程实现计算字符串中子串出现的次数。 函数原型: int FindString(char *str,char *sub) 要求: 在主函数中输入字符串和子串,调用FindString()函数,输出子串出现的次数。
时间: 2023-06-09 12:08:08 浏览: 196
好的,我会记住您的要求。针对您的问题,可以使用以下函数实现:
```c
int FindString(char *str, char *sub) {
int cnt = 0;
while (*str != '\0') {
if (strncmp(str, sub, strlen(sub)) == 0) {
cnt++;
}
str++;
}
return cnt;
}
```
这个函数通过循环遍历输入的字符串,每次用 strncmp() 函数比较相邻的若干字符是否和子串相同,如果相同则计数器加一。最终返回计数器的值,即子串出现的次数。
在主函数中,可以像这样调用 FindString() 函数:
```c
#include <stdio.h>
int main() {
char str[100], sub[100];
printf("请输入字符串: ");
scanf("%s", str);
printf("请输入子串: ");
scanf("%s", sub);
int cnt = FindString(str, sub);
printf("子串 \"%s\" 在字符串 \"%s\" 中出现的次数为: %d\n", sub, str, cnt);
return 0;
}
```
这个程序会先从标准输入读入字符串和子串,然后调用 FindString() 函数计算子串出现的次数,最后将结果输出到标准输出。
阅读全文