[优质文档]删除字符
删除字符
1、假定输入的字符串中只包含字母和*号。功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。
例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。 void fun(char *a,char *h,char *p) {char b[81],*x;
int i=0,j=0;
x=a;
while (xn)
{ for (k=0;kn)
{ a[len-s+n]='\0';
}}
16、编写函数fun,函数的功能是:从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。
若程序执行时输入字符串为:turbo c and borland c++
从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++
如果输入的字符在字符串中不存在,则字符串照原样输出。
void fun(char s[],char c)
{char *p=s;
int i=0;
while(*p)
{ if(*p!=c) s[i++]=*p;
p++;}
s[i]=0;
}
17、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。
void fun( char *a )
{ int i,j=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='*')
a[j++]=a[i];
a[j]='\0';
}
18、 请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后数组中的内容应该是:2 3 4 5 6 7 8 9 10。 int fun(int a[], int n)
{int i,j,x;
for(i=0;i