您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页C语言删除字符串A中的字符b,C语言删除字符串中指定的一串字符

C语言删除字符串A中的字符b,C语言删除字符串中指定的一串字符

来源:暴趣科技网

[1]strcpy的应用

#include#includevoid sc(int lena,int lenb,char a[],char b[])

{

int i,k,j,m=0;

char c[100];

for(i=0;a[i];i++)

{

k=i;

for(j=0;jc[j]=a[k++];

c[j]='\0';

if(strcmp(b,c)==0)

{strcpy(a+i,a+k);

i--;

}}

}

void main()

{

char a[100],b[100];

int lena,lenb;

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

lena=strlen(a);

lenb=strlen(b);

sc(lena,lenb,a,b);

printf("删除指定字符串后的字符串是:");

puts(a);

}

[2]不用函数

#include#includevoid main()

{

static char a[100],b[100],c[100];

int i,lena,lenb,k,t;

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

lena=strlen(a);

lenb=strlen(b);

for(i=0;i<=lena-lenb;i++)/*选取从i开始的字符*/

{

for(t=0;t<100;t++)/*字符串c归零*/

c[t]=0;

k=i;

for(k=i;kc[k-i]=a[k];/*选取lenb长度的字符串并赋值给c*/

if((strcmp(b,c))==0)/*判断b,c字符串是否相等*/

{

for(k=i;ka[k]='\0';/*让和字符串b相同的一部分归零

*/

}

}

printf("删除指定字符串后的字符串是:");

for(i=0;iif(a[i]!='\0')/*零不输出*/

printf("%c",a[i]);

printf("\n");

}

[2]的函数形式

#include#includeint shanchu(char a[],char b[],int lena,int lenb)

{

int i,k,t;

char c[100];

for(i=0;i<=lena-lenb;i++)/*选取从i开始的字符*/

{

for(t=0;t<100;t++)/*字符串c归零*/

c[t]=0;

k=i;

for(k=i;kc[k-i]=a[k];/*选取lenb长度的字符串并赋值给c*/

if((strcmp(b,c))==0)/*判断b,c字符串是否相等*/

{

for(k=i;ka[k]='\0';/*让和字符串b相同的一部分归零*/

}

}

return lena;

}

void main()

{

static char a[100],b[100];

int i,lena,lenb,k,t;

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

lena=strlen(a);

lenb=strlen(b);

lena=shanchu(a,b,lena,lenb);

printf("删除指定字符串后的字符串是:");

for(i=0;iif(a[i]!='\0')/*零不输出*/

printf("%c",a[i]);

printf("\n");

}

[3]

#include#includevoid main()

{

char a[100],b[20];

int i,k,j;

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

for(i=0;a[i];i++)

{

if(a[i]==b[0])

{k=i;j=0;

while(b[j]&&a[k]&&a[k++]==b[j++]);

if(b[j]=='\0')strcpy(a+i,a+k);

i--;/*划重点*/

}

}

printf("删除指定字符串后的字符串是:");

puts(a);

}

[4]

#include#includevoid main()

{

char a[100],b[20];

int i,k,j,n,num=0;

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

for(i=0;i{

if(a[i]==b[0])

{

k=i;j=0;

while(b[j]&&a[k]&&a[k++]==b[j++]);

if(b[j]=='\0')

{

num++;

for(n=i;a[n+j];n++)a[n]=a[n+j];

}

i--;/*划重点*/

}

}

a[i]='\0';

printf("删除指定字符串后的字符串是:");

puts(a);

}

[5]

#includevoid fun(char *p,char *q)

{

int i,t,m;

for(i=0;*(p+i);i++)

if(*(p+i)==*q)

{

t=i;

m=0;

while(*(p+t)==*(q+m)&&*(p+t)!=0)/*不可以为while(*(p+t++)==*(q+m++)&&*(p+t)!=0)*/

{

t++;

m++;

}

if(*(q+m)=='\0')

{

m=i;

while(*(p+t))

{

*(p+m)=*(p+t);

m++;

t++;

}

*(p+m)='\0';

i--;

}

}

}

void main()

{

char a[1000],b[100];

printf("请输入一个字符串\n");

gets(a);

printf("请输入待删除的字符串\n");

gets(b);

fun(a,b);

printf("删除指定字符串后的字符串是:");

puts(a);

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务