c语言fun函数删除号 c语言删除字符

编写函数fun,它的功能是:除了字符串前导和尾部的"#"号之外,将串中其他"#"号全部删除。

我理解你的r是指向了字符'a',v是指向字符'g'

创新互联专业为企业提供南乐网站建设、南乐做网站、南乐网站设计、南乐网站制作等企业网站建设、网页设计与制作、南乐企业网站模板建站服务,十载南乐做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

void fun(char s[],int r,int v)

{

int pos = 0; //用来存放字符串的个数

int count = 0; //用来计算删除'#'的个数,已被循环所用;

while *(s+pos) != '\0') //此循环计算字符串的长度

{

pos++;

}

for (int i=r; i=v-count; i++) //从字符串'a'的位置开始循环比较,

{ //循环到字符串'g'的位置,因为中间

if (s[i] == '#') //要删除'#'所以循环的次数也要改变

{

for (int j=i; jpos-count; j++)//此循环就是删除两地之间的'#'

{ //进行依次后一个字符补替前

s[j] = s[j+1]; //一个字符

}

count ++; //删除的个数要进行更新

i--; //假如删除了'a'后面的'#'

} //从'b'开始后面的字符串就往

} //前移,'b'就占住了删除的'#'

} //i--就是为了下一次循环从'b'

//比较

C语言 删除字符串中指定的星号

void fun

{char s,char *t,int i,n,j;

while (*t){n++;t++;}

for(i=0;i++;in-1;)

if (*t='*')

{for (j=i;jn-1;j++)

c语言怎么删掉字符串的前几个字符

现在有一串字符需要输入,规定输入的字符串中只包含字母和*号。请用C语言编写程序,实现以下功能:除了字符串前后的*号之外,将串中其他的*号全部删除。

例如,假设输入的字符串为****A*BC*DEF*G********,删除串中的*号后,字符串变为****ABDEFG********

该问题需要对字符串进行操作,而在C语言中没有专门的字符串变量,因此如果需要将一个字符串存放在变量中,则必须使用字符数组,即使用一个字符型数组来存放一个字符串,数组中的每一个元素存放一个字符。

C语言如何删除字符串前后星号?

C语言/C++学习请加:556791282群内有更多资料哦!

算法分析

设置两个指向字符的指针变量t和f。先使用循环语句让t指针指向字符串中最后一个字符,而f指针指向字符串中第一个字符;再判断t和f指向的字符是否为“*”,如果为“*”,则t指针自减,f指针自增,直到遇到第一个不是的字符为止。

再定义一个函数fun()用于删除字符串中的“*”号,同时保留字符串前后的“*”号。

下面是完整的代码:

#include stdio.h

int fun(char *a, char *h, char *p)

{

int i, j;

/*删除指针h与p之间的所有“*”*/

for(i=0,j=0; h[i]p; i++)

if(h[i]!='*')

h[j++]=h[i];

/*将指针p至字符串尾部的所有字符前移*/

for(i=0; p[i]; i++,j++)

h[j]=p[i];

h[j]='\0'; /*在字符串尾部添加结束标志*/

return 0;

}

int main( )

{

char s[81], *t, *f;

printf("Enter a string :\n");

gets(s); /*输入字符串*/

t=f=s; /*用字符指针t、f指向串s*/

while(*t)

t++;

t--; /*将指针t定位到字符串中最后一个字符*/

while(*t == '*') /*指针t指向字符串中最后一个字符*/

t--;

while (*f == '*') /*指针f指向字符串中第一个字符*/

f++;

fun(s, f, t);

printf("The string after deleted:\n"); /*输出结果*/

puts(s);

return 0;

}

运行结果:

Enter a string :

****A*BC*DEF*G********

The string after deleted:

****ABCDEFG********

C语言学习其实并不难,只要你有决心,够努力,就会成功。想免费学习的可以加脱线下面得号!

关于C语言的删除字符问题。(编写fun函数)

#include stdio.h

void fun(char *a, char *p)

{char *b;

for(b=a;a=p;a++)

if(*a!='*')*b++=*a;

for(;*b++=*a++;);  

}

main()

{char s[81],*t;

printf("Enter a string:\n");

gets(s); t=s;

while(*t)t++;

t--;

while(*t=='*')t--;

fun(s , t);

printf("The string after deleted:\n");

puts(s);

}


文章名称:c语言fun函数删除号 c语言删除字符
本文链接:http://abwzjs.com/article/ddipsji.html