Chinaunix首页 | 论坛 | 博客
  • 博客访问: 252174
  • 博文数量: 52
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 625
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-03 08:39
文章分类
文章存档

2011年(4)

2010年(5)

2009年(6)

2008年(37)

我的朋友

分类: C/C++

2008-04-02 23:24:59

今天和同学讨论了一个C语言编程问题:两个字符串,判断其中一个字符串是否为另一个字符串的子串,如果是,则删除该字符串中所由的子串,比如string1为:abcdefghabcdefgh,string2为:cde程序执行后应该是abfghabfgh编写这个一个程序.
下面是我编写的:其中用到了递归,在有少量子串的判断时效率还可以,但是如果有很多子串的话,效率将会变得很低.
#include
#include
#define MAX 20
char str1[MAX]="abcdefghabcdefg";
char str2[MAX]="cde";
void chstr()
{

int i,j=0,start=0;
i=start;
printf("String1:");
puts(str1);
printf("String2:");
puts(str2);
while(i{
if(str1[i]==str2[j])
{i++;j++;}
else
{
start++;
i=start;
j=0;
}
}
if(j>=strlen(str2))
{

printf("substring:");
int k=start;
while(k{
str1[k]=str1[k+strlen(str2)];
k++;
}

int s=0;
while(s!=k)
{
printf("%c",str1[s]);
s++;
}
printf("\n\n");
chstr();
}
else
printf("No sub string!\n");
}

main()
{
chstr();
}

String1:abcdefghabcdefg
String2:cde
substring:abfghabcdefg

String1:abfghabcdefg
String2:cde
substring:abfghabfg

String1:abfghabfg
String2:cde
No sub string!
如果读者对此程序有什么意见,请提出来,不胜感激!
阅读(1414) | 评论(0) | 转发(0) |
0

上一篇:关于指针的定义

下一篇:C语言文件复习

给主人留下些什么吧!~~