编写函数int count_substr(char *str,char *sub_str),统计字符串中子串的出现次数,如在字符串“1010

编写函数int count_substr(char *str,char *sub_str),统计字符串中子串的出现次数,如在字符串“10101000101”中出现子串“101”的个数为2;主函数完成字符串和子串的输入,调用count_substr函数得到子串出现的次数,在主函数中输出次数值。

#include<stdio.h>
#include<string.h>
void main()
{
int count_substr(char *str,char *sub_str);
char string[100];
char sub_str[100];
printf("input a string:\n");
scanf("%s",string);
printf("input the substring:\n");
scanf("%s",sub_str);

char *str1,*str2;
str1 = string;
str2 = sub_str;
printf("count = %d",count_substr(str1,str2));
}
int count_substr(char *str,char *sub_str)
{
int count = 0;
int i,j;
for(i=0;i<strlen(str);i++)
{
for(j=0;j<strlen(sub_str);j++)
{
if(*(sub_str+j)!=*(str+i+j))
break;
}
if(j==strlen(sub_str))count++;
}
return count;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

编写函数int count_substr(char *str,char *sub_str),统计字符串中子串...
include<stdio.h>#include<string.h>void main(){int count_substr(char *str,char *sub_str);char string[100];char sub_str[100];printf("input a string:\\n");scanf("%s",string);printf("input the substring:\\n");scanf("%s",sub_str);char *str1,*str2;str1 = string;str2 ...

编写C++程序统计子字符串出现在母字符串中的个数。
scanf("%s",str);printf("请输入子字符串:");scanf("%s",substr);count = findSubString(str,substr);printf("%s出现在%s中的次数为:%d",substr,str,count);getchar();getchar();return 0;} int findSubString(char *str,char *substr){ int substrLen =0,totalStrLen=0,cursor=0,count...

2、 编写函数求字符串的子串,在主函数中输入子串作为参数,字符串长度不...
int main(int argc, _TCHAR* argv[]){ char str[255] = { 0 };\/\/ "What is bus ? Name some buses. Local bus is a high speed I\/O bus close to the processer.";printf("input string\\n");gets(str);printf("input sub string\\n");char sub[255] = { 0 };gets(sub);p...

python统计字符串中有多少个子串?
intmain(){ charstr[256];char*p;intupper=0;intlower=0;intspace=0;intdigit=0;

...统计一长度不超过2的子串在该字符串中出现的次数.
int main(){ string str, substr; cout<<"请输入字符串:"; cin>>str; cout<<"请输入要统计的字符段:"; cin>>substr; int num = 0; string::size_type pos = 0; while((pos = str.find(substr, pos))!= string::npos) { num++; ++pos; } cout <<"搜索的字符段出现次数为:"<< num <...

下面的函数统计子字符串substr在字符串str中出现的次数 }
您好,对于字符串的处理就是定义字符数组,如char c[4]=“adc”,这个是可以把字符串赋值进去,其实这种写法等价于char *c=“abc”,char *是定义一个指针,所以加*,如果是*c则代表的是C指向的字符,我刚刚的实例中*c就是a.数组的函数参数都是定义指针哦,当然你也可以定义数组,其实是一样的...

编写判断子串的自定义函数模块int substr(char *s1,char *s2),如果s1...
include <iostream.h>#include <string.h>#include<stdlib.h>int substr(char *s1,char *s2){ int len1=strlen(s1); int len2=strlen(s2); int i,k,t=0; if(len1>len2) return 0; for(k=0;k<len2;k++) { for(i=0;i<len1;i++) if(s1[i]==s2[i]) t++; ...

C++ char 字符串操作
这个问题可以利用标准库中提供的函数strstr 字符串查找函数 思路是,先找到头字符串的位置,然后以此为起点,查找尾字符串,然后两者之间的字符串就是目标字符串 示例代码如下:void FindSub(char* str,char*head,char*tail){\/\/这里只是示例代码,因此认为三个参数都是有效的,而且头和尾必然在str中存在...

编写字符串函数char *substr(char *str1, char *str2),判断字符串str2...
char *substr(char *str1, char *str2);void main(){ char str1[80], str2[80];char* flag=NULL;int i=0;printf("输入str1\\n");gets(str1);printf("输入str2\\n");gets(str2);flag=substr(str1,str2);printf("%d\\n",flag - str1);if(flag!=NULL)printf("%s",flag);else...

c#统计一个字符在字符串出现次数的函数
C#中没有统计子字符串出现次数的函数,那么如何在C#求出字符串中某字符的出现次数,比如求“ADSFGEHERGASDF”中“A”出现的次数。首先想到的方法当然是从头遍历字符串并统计:c1 = 0;for (int i = 0; i < str.Length; i++){ if (str[i] == 'A'){ c1++;} } 第二种方法也很容易想到...

相似回答