-
题目描述:
-
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
-
输入:
-
每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。
-
输出:
-
对应每个测试案例,出经过处理后的字符串。
-
样例输入:
-
We Are Happy
-
样例输出:
-
We%20Are%20Happy
-
#include<iostream> #include<cstdio> #include<cstring> using namespace std; void ReplaceBank(char str[]) { if(str == NULL) return ; int numofBank = 0; int length = 0; int i = 0; while(str[i] != '\0') { length++; if(str[i] == ' ') { numofBank++; } i++; } int newlength = length + numofBank * 2; //cout<<"length:"<<length<<endl; //cout<<"numofBank:"<<numofBank<<endl; //cout<<"newlength:"<<newlength<<endl; int ii = newlength; int j = length; while(ii > j&&j >= 0) { if(str[j] == ' ') { str[ii--] = '0'; str[ii--] = '2'; str[ii--] = '%'; } else { str[ii--] = str[j]; } --j; } } int main() { char str[100] = "wo are happy."; ReplaceBank(str); for(int i = 0;i < strlen(str);i++) { cout<<str[i]; } cout<<endl; return 0; }