69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
#define FALSE 0
#define SUCCESS 1
int main()
{
char s1[10],s2[10];
int i,lengths2;
printf("请输入s1,s2\n");
gets(s1);// 请输入a
gets(s2);//请输入aaaaa
// printf("%d\t%d\n",strlen(s1),strlen(s2));
//}
lengths2=strlen(s2);
if (strlen(s1)<lengths2) //先做界限判定
{
puts("不存在");
return FALSE;
}
for(i=0;i <=(strlen(s1) -lengths2);i++) // 遍历s1
{
int iTmp;
if (s1[i]==s2[0]) //若第一个字符相同
{
for ( iTmp=1;iTmp<lengths2;iTmp++) //再继续判定其余位置是否相同
{
if (s1[i+iTmp]!=s2[iTmp])
{
break;
}
}
if (iTmp==lengths2) // 如果相同删掉字符串
{
int lengths1=strlen(s1);
for (iTmp=0;iTmp<=lengths1-i-lengths2 ;iTmp++) //删除实现代码,用后面的覆盖前面的
{
s1[i+iTmp]=s1[i+iTmp+lengths2];
}
}
}
}
puts(s1);
return SUCCESS;
}
#include <stdio.h> #include <stdio.h>
#include <string.h>
int main(){
char s1[10],s2[10];
int i,j,k,lengths1,lengths2;
printf("请输入s1,s2: \n");
gets(s1);
gets(s2);
lengths1=strlen(s1);
lengths2=strlen(s2);
for(i=0; i<lengths1; i++)
for(j=0; j<lengths2; j++)
if(s1[i]==s2[j]){
for(k=j;k<lengths2;k++)
s2[k]=s2[k+1];
}
printf("%s\n",s2);
return 0;
}