給定一個字符串 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;
}