用字符串%20替换空格
void Instead(char *string,int length)
{
assert(string);
int count = 0;
int size = 0;
int i = 0;
while(string[i] != '\0')
{
if(string[i] == ' ')
{
count++;
}
i++;
size++;
}
int newlength = size+count*2;
if(length < newlength)
{
return;
}
//从后向前依次替换
while(newlength>=0 && size>=0)
{
if(string[size] == ' ')
{
string[newlength--] = '0';
string[newlength--] = '2';
string[newlength--] = '%';
}
else
{
string[newlength--] = string[size];
}
size--;
}
}
相关题(从尾到头比较大小,将元素放在合适的位置)
两个有序数组A1和A2,将A2中的所有数字复制到A1中,要求复制后的A1有序
int main()
{
int arr1[12] = {1,2,5,7,9};
int arr2[] = {4,6,8,10};
int len1 = 4;
int len2 =sizeof(arr2)/sizeof(arr2[0])-1;
while(len1>=0 && len2>=0)
{
if(arr2[len2]>arr1[len1])
{
arr1[len1+len2+1] = arr2[len2];
len2--;
}
else
{
arr1[len1+len2+1] = arr1[len1];
len1--;
}
}
if(arr1[0] > arr2[0])
{
arr1[0] = arr2[0];
}
system("pause");
return 0;
}