急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在
急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在的字符串,计算第二个字符串在第一个字符串中出现的次数。好评...
急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在的字符串,计算第二个字符串在第一个字符串中出现的次数。好评
展开
4个回答
展开全部
你好!给你一个程序,这个程序可以统计含有空格的字符串
完整的代码:
#include <stdio.h>
#include <string.h>
int find(char * str1, char * str2)
{
int i,j;
int str1len=strlen(str1),str2len=strlen(str2);
int count=0;
for(i=0;i<str1len-str2len+1;i++)
{
for(j=0;j<str2len;j++)
{
if(str2[j]!=str1[i+j])
break;
}
if(j==str2len)
count++;
}
return count;
}
int main()
{
char a[200],b[200],*g;
int c=0;
printf("请输入主串:");
gets(a);
printf("请输入子串:");
gets(b);
c=find(a,b);
printf("出现的次数:%d\n",c);
return 0;
}
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
char str1[20], str2[20], *p1, *p2;
int sum=0;
printf("Please enter two strings\n");
scanf("%s%s", str1, str2);
p1=str1;
p2=str2;
while(*p1 != '\0')
{
if(*p1 == *p2)
{
while(*p1 == *p2 && *p2 != '\0')
{
p1++;
p2++;
}
}
else
p1++;
if(*p2 == '\0')
sum++;
p2=str2;
}
printf("%d", sum);
getchar();
}
希望这个能帮到你。。加油吧少年
请放心使用,有问题的话请追问
满意请及时采纳,谢谢,采纳后你将获得5财富值。
你的采纳将是我继续努力帮助他人的最强动力!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int countsubstr(char *str ,char * substr)
{
int count=0;
int nowindex=0;
for(int i=0;i<strlen(str);i++)
{
char isOK=1;
for(int j=0;j<strlen(substr);j++)
{
if(str[i+j]=='\0')return count;
if(str[i+j]!=substr[j]) isOK=0;
break;
}
if(isOK==1)
{
count++;
i+=strlen(substr)-1;
}
}
return count;
}
{
int count=0;
int nowindex=0;
for(int i=0;i<strlen(str);i++)
{
char isOK=1;
for(int j=0;j<strlen(substr);j++)
{
if(str[i+j]=='\0')return count;
if(str[i+j]!=substr[j]) isOK=0;
break;
}
if(isOK==1)
{
count++;
i+=strlen(substr)-1;
}
}
return count;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AT("子字符串")
更多追问追答
追问
AT是什么?我要C实现的,麻烦你帮我写一个
追答
?AT("百度","百度知道")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询