首页后端开发其他后端知识c语言fun函数删除号 c语言删除字符

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

时间2023-04-13 14:00:01发布访客分类其他后端知识浏览457
导读:编写函数fun,它的功能是:除了字符串前导和尾部的"#"号之外,将串中其他"#"号全部删除。 我理解你的r是指向了字符'a',v是指向字符'g'void fun(char s[],int r,int v { int pos = 0;...

编写函数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);

}

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言fun函数删除号 c语言删除字符
本文地址: https://pptw.com/jishu/2846.html
c语言函数运算编程 c语言函数用法大全 c语言函数转换成字符串 c语言转换为字符串

游客 回复需填写必要信息