在主函数中输入字符串和子串,调用FindString()函数,输出子串出现的次数.

3用函数编程实现计算字符串中子串出现的次数。函数原型:int FindString(char *str,char *sub)要求:在主函数中输入字符串和子串,调用FindString()函数,输出子串出现的次数。输入样例1:987687999872687输出样例1:3输入样例2:987687999872611输出样例2:0输入样例3:123468799987212341234输出样例3:2#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 32767int FindString(char *str,char *sub);int main(){ int p; char s1[N]; char s2[N]; char *str=s1; char *sub=s2; gets(str); getchar(); gets(sub); p=FindString(str,sub); printf("%d",p); return 0;}int FindString(char *str,char *sub){ int m,n,i,j,count=0,wow=0; m=strlen(str); n=strlen(sub); if(m<n) return 0; for(i=0;i<m-n+1;i++) { for(j=0;j<n;j++) { if(str[i+j]==sub[j])wow++; } if(wow==n)count++;wow=0; } return count;}用例2,3不对,求修改
2026年09月23日 11:16
有1个网友回答
网友(1):

我用gcc编译 貌似是正确的啊

zhangxv@Ubantu-Zhang:~/test_src$ gcc -g -o test_find_substr test_find_substr.c zhangxv@Ubantu-Zhang:~/test_src$ ./test_find_substr
8763412341876213

876
2
zhangxv@Ubantu-Zhang:~/test_src$ ./test_find_substr
78734625786738245

11
0
zhangxv@Ubantu-Zhang:~/test_src$ ./test_find_substr
123478687678671234

1234
2
zhangxv@Ubantu-Zhang:~/test_src$