常用算法整理04
Posted C思计
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用算法整理04相关的知识,希望对你有一定的参考价值。
1. 除字符串前导和尾部的*号外,将串中其他的*号全部删除。
方法一:
int n,m,i,j=0;
n=h-a;//n变量存放的是前导*号的个数
m=p-a;//m变量存放的是除去尾部*号及其前一个字符以外的字符长度
for(i=n;i<=m;i++)
{
if(a[i]!='*')
{
a[n+j]=a[i];
j=j+1;
}
}
n=n+j;//此时n变量中存放的是删除中间*号后剩下的字符长度
for(i=m+1,j=0;a[i]!='\0';i++)
{
a[n+j]=a[i];
j++;
}
a[n+j]='\0';
方法二:
int n,m,i,j=0;
n=h-a;//n变量存放的是前导*号的个数
m=p-a;//m变量存放的是除去尾部*号及其前一个字符以外的字符长度
for(i=n;a[i]!='\0';i++)
{
if(a[i]!='*'&&i<=m)
{
a[n+j]=a[i];
j=j+1;
}
else if(i>m)
{
a[n+j]=a[i];
j=j+1;
}
}
a[n+j+1]='\0';
方法三:
int i=0;
char *q=a;
while(q<h)
{
a[i]=*q;
q++;
i++;
}
while(q<p)
{
if(*q!='*')
{
a[i]=*q;
i++;
}
q++;
}
while(*q)
{
a[i]=*q;
i++;
q++;
}
a[i]='\0';
2. 插入字符
int I,j,n;
for(i=0;s[i]!=’\0’;i++)
if(s[i]>=’0’&&s[i]<=’9’)
{
n=0;
while(s[i+1+n]!=0)
n++;
for(j=1+n+I;j>I;j--)
s[j+1]=s[j];
s[j+1]=’*’;
i=i+1;
}
以上是关于常用算法整理04的主要内容,如果未能解决你的问题,请参考以下文章