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);
}
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言fun函数删除号 c语言删除字符
本文地址: https://pptw.com/jishu/2846.html