替換空格(c語言完整版程式)
阿新 • • 發佈:2019-02-04
題目:請實現一個函式,把字串中的每個空格替換為“20%”。例如輸入“we are happy”,則輸出“we20%are20%happy”;
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replaceBlank(char string[],int len)
{
int oriLen = 0;
//oriLen = 0;
int numOfBlank = 0;
int i = 0;
int newLen;
int indexOfOriginal;
int indexOfNew;
if(string==NULL&&len<=0)
{
return;
}
while(string[i]!='\0')
{
++oriLen;
if(string[i]==' ')
{
++numOfBlank;
}
++i;
}
newLen = oriLen + numOfBlank * 2;
if(newLen > len)
{
return ;
}
indexOfOriginal = oriLen;
indexOfNew = newLen;
while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
{
if(string[indexOfOriginal] == ' ')
{
string[indexOfNew--] = '0';
string[indexOfNew--] = '2';
string[indexOfNew--] = '%' ;
}
else
{
string[indexOfNew--] = string[indexOfOriginal];
}
--indexOfOriginal;
}
printf("%s",string);
}
void main()
{
char string[20] = "we are happy";
replaceBlank(string,30);
}
應該是編譯的問題,我最開始犯的錯誤是,變數沒有在一開始宣告,導致出現錯誤。