1 计算空格数 和原来字符串长度
2 计算新字符串长度
3 从后往前遍历字符串 str[old]==‘ ’时 str[ new--] 依次等于2 0 % ,old--;
否则 str[ new--] =str[old] old--;
void ReplaceBlank(char *str,int n)
{
if(str==NULL||n<=0)
return ;
int old=0;
int blank=0;
//计算空格数,字符串长度
while(str[i]!='\0')
{
old++;
if(str[i]==' ')
blank++;
i++
}
//计算新字符串长度
int new =old+2*blank;
if(new>n)
return ;
int indexold=old;
int indexnew=new;
while(indexold>=0&&indexnew>indexold)
{
if(str[old]==' ')
{
str[indexnew--]='0';
str[indexnew--]='2';
str[indexnew--]='%';
}
else
{
str[indexnew--]=str[indexold];
}
indexold--;
}
}