代码改变世界

寻找子串经典算法

2012-04-08 12:44  璋廊  阅读(217)  评论(0编辑  收藏  举报
#include<stdio.h>
int Strlen(char *s)//统计字符串的长度;
{
	int h=0;
	while(s[h]!='\0')
	{
		h++;
	}
return h;
}
void Strcpy(char *s,char *str)// 串的复制;
{
	int i,k;
	k=Strlen(str);
	for(i=0;i<k;i++)
	{
		s[i]=str[i];
	}
	s[i]='\0';//不要忘了末位加上‘\0’;
	return ;
}
void Concat(char *s,char *str1,char *str )//把str和str1连接起来返回到s中
{
	int i,j,k,h;
	k=Strlen(str);
	h=Strlen(str1);
	j=0;
	for(i=0;i<h+k;i++)
	{
		if(i<k)
		{
			s[i]=str[i];
				j=0;
		}
		else s[i]=str1[j++];
	}
	s[i]='\0';//不要忘了末位加上‘\0’;
return ;
}
int main()
{
	int k;
	char str[101],str1[102],s[201];
	scanf("%s%s",str,str1);
	k=Strlen(str);
	printf("str的长度为:%d\n",k);
	Strcpy(s,str);
	puts(s);
	Concat(s,str1,str);
	puts(s);

	return 0;
}