本文主要是介绍[九度OnlineJudge][剑指Offer]题目1510:替换空格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 输入:
-
每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。
- 输出:
-
对应每个测试案例,出经过处理后的字符串。
- 样例输入:
-
We Are Happy
- 样例输出:
-
We%20Are%20Happy
-
-
#include <iostream> #include <string> using namespace std;int main() {string in;int space_count=0;//记得一定要初始化啊, // 否则问题很严重,下边的程序没有给它赋值就开始加加操作 // while(cin>>in)//cin输入遇到空格就停止输入并不能满足题意while(getline(cin,in)){int in_length=in.length();for(int i=0;i<in_length;i++){if(in.at(i)==' ')space_count++;}int out_length=in_length+space_count*2;char *out=new char[out_length+1];out[out_length]='\0';//很重要,因为字符数组并不是string注意两者的去区别int out_reverse_index=out_length-1;for(int i=in_length-1;i>=0;i--){if(in.at(i)==' '){out[out_reverse_index--]='0';out[out_reverse_index--]='2';out[out_reverse_index--]='%';}elseout[out_reverse_index--]=in.at(i);}cout<<out;delete []out;}return 0; }/**************************************************************Problem: 1510User: fuestckLanguage: C++Result: AcceptedTime:20 msMemory:2068 kb ****************************************************************/
这篇关于[九度OnlineJudge][剑指Offer]题目1510:替换空格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!