给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。
样例输入:a1b2c3
样例输出:anumberbnumbercnumber
代码如下:
#include<iostream>
#include<string>
#include<algorithm>
#include<ctime>//计算代码所需要的时间
using namespace std;int main()
{clock_t starttime, endtime;starttime = clock();//计时开始//实现部分string s;cout << "请输入字符串" << endl;cin >> s;int count = 0;//判断字符串中有多少个数字int sOldize = s.size();for (int i = 0; i < sOldize; i++){if (s[i] >= '0' && s[i] <= '9'){count++;}}s.resize(s.size() + 5 * count);//扩大字符串长度int sNewize = s.size();for (int i = sNewize - 1, j = sOldize - 1; j >= 0; j--, i--){if (s[j] < '0' || s[j] > '9'){s[i] = s[j];}else{s[i] = 'r';s[i - 1] = 'e';s[i - 2] = 'b';s[i - 3] = 'm';s[i - 4] = 'u';s[i - 5] = 'n';i-=5;}}cout << s << endl;endtime = clock();//计时结束cout << "运行时间为: " << (double)(endtime - starttime) / CLOCKS_PER_SEC << "s" << endl;system("pause");return 0;
}