星号问题
例:字符串s“********AB***CD********”
1.删除全部*
int i,j;
if(s[i]!='*')
s[j++]=s[i];
s[j]=0;
puts(s);
2.删除前导*
(1)寻找第一个非*下标
(2)覆盖
(3)适当位置添加结束符
int i=0,j=0;
while(s[i]=='*')
i++;
while(s[i])
s[j++]=s[i++];
s[j]=0;
puts(s);
3.删除后导*
(1)寻找最后的*下标
(2)倒序遍历
(3)补结束符
int i;
i=strlen(s)-1;
while(s[i]=='*')
i--;
s[i+1]=0;
puts(s);
4.使前导*不多于n个,否则不处理
(1)计算前导*个数
(2)对比n,判断是否处理
(3)若小于等于n,不处理,结束;若大于n,处理
int i=0,j=0;
whlie(s[i]==*)
i++;
if(i>n){
i=i-n;
while(s[i])
s[j++]=s[i++];
s[j]=0;
}
puts(s);
5.使后导*不多于n个
(1)计算后导*的个数
(2)对比n,判断是否处理
(3)若小于等于n,不处理,结束;若大于n,处理
int i,j=0;
i=strlen(s)-1;
while(s[i]=="*")
j++;
if(j>n)
s[i+n+1]=0;