题目描述
从字符串s中找出字符串t出现的次数,没有则输出0
输入
输入两个字符串
输出
输出个数
样例输入
112121
121
样例输出
2
参考代码
#include<stdio.h>
#include<stdlib.h>
struct string
{
char data[200];
int len;
}
;
struct string strassign1()
{
struct string s;
int i;
char c;
for (i=0;;i++)
{
if(scanf("%c",&c)&&c!='n')
s.data[i]=c;
else
break;
}
s.len=i;
return s;
}
struct string strassign2()
{
struct string s;
int i;
char c;
for(i=0;;i++)
{
if(scanf("%c",&c)!=EOF)
s.data[i]=c;
else
break;
}
s.len=i;
return s;
}
struct string substr(struct string s,int i,int j)
{
struct string str;
int k;
str.len=0;
for(k=i-1;k<i+j-1;k++)
str.data[k-i+1]=s.data[k];
str.len=j;
return str;
}
int strequal(struct string s,struct string t)
{
int same=1,i;
if(s.len!=t.len)
same=0;
else
for(i=0;i<s.len;i++)
if(s.data[i]!=t.data[i])
{
same=0;
break;
}
return same;
}
int main()
{
int m,n,j=0,i;
struct string p1,p2,p3;
p1=strassign1();
p2=strassign2();
for(i=0;i<p1.len;i++)
{
p3=substr(p1,i,p2.len);
if(strequal(p2,p3))
{
j++;
}
}
printf("%d",j);
return 0;
}
解析
暂无