c语言程序 在线等
发布网友
发布时间:2022-05-27 13:22
我来回答
共4个回答
热心网友
时间:2023-10-25 04:46
这就是你要的程序,我已经在vc下通过调试了,满足你的功能
#include<stdio.h>
main()
{
char str1[80],str2[10];
int judge(char*,char*);
printf("输入字符串:");
gets(str1);
printf("输入子字符串:");
gets(str2);
printf("查找结果为:%d\n",judge(str1,str2));
}
int judge(char *str1,char *str2)
{
int s,i,count=0,j;
for(s=0;*(str1+s)!='\0';s++)
{
j=1;
for(i=s;*(str2+i-s)!='\0'&&*(str1+i)!='\0';i++)
if(*(str2+i-s)!=*(str1+i))
{
j=0;
break;
}
if(j==1)
count++;
}
return count;
}
参考资料:http://www.baidu.com/?word=main%28%29&se=360se_8_dg&ie=utf-8
热心网友
时间:2023-10-25 04:47
#include<stdio.h>
#include<string.h>
int count(char sa[],char sb[])
{
int i,j,cnt=0;
for(i=0;sa[i];i++)
{
for(j=0;sa[i+j]&&sb[j]&&sa[i+j]==sb[j];j++);
if(sb[j]==0)cnt++;
}
return cnt;
}
int main(){
char sa[1000];
char sb[1000];
gets(sa);
gets(sb);
printf("%d\n",count(sa,sb));
return 0;
}
//this is a string
热心网友
时间:2023-10-25 04:47
可以同 kmp 算法,百度搜索算法,慢慢学习着写吧。只有不断尝试,才能写出自己的程序!
热心网友
时间:2023-10-25 04:48
不考虑开销的话 是很简单的