將字串的每個字元替換為ASCII值是其K倍的字元
在 C++ 程式設計領域,可以將指定字串的每個字元替換為 ASCII 值比原始字元高 K 倍的符號。這可以透過實現簡單的演算法技術來實現。本文深入探討了語法、演算法和兩種解決問題的不同方法,並附帶了 C++ 中的程式碼示例。
語法
要將字串中的每個字元替換為 ASCII 值乘以 K 的字元,語法如下:
string replace(string str, int K);
這裡,“str”表示需要修改的字串,“K”表示每個字元的 ASCII 值將乘以的整數值。
演算法
將字串的每個字元替換為 ASCII 值乘以 K 的字元的演算法過程如下:
開始
輸入字串“str”和整數值“K”的值。
使用迴圈遍歷“str”的每個字元。
對於每個字元,透過使用 (int)str[i] 進行型別轉換將其轉換為數值,從而計算其 ASCII 表示形式。
將 ASCII 值乘以“K”以確定新的 ASCII 值。
透過使用 (char)(ASCII 值) 將新的 ASCII 值轉換回字元,用獲得的新字元替換該字元。
對字串中存在的每個字元重複步驟 3 到 6。
結束
方法 1
第一種方法需要利用“for”迴圈遍歷字串的每個字元,並在每個符號上執行必要的運算。此方法的程式碼如下:
示例
首先,我們透過計算其長度來確定輸入序列“str”的範圍。然後,透過實現“for”迴圈,我們遍歷字串的每個元素。對於每個字元,我們透過使用 (int)str[i] 將其轉換為數值表示形式來計算其 ASCII 等價物。隨後,我們將此 ASCII 值乘以常數“K”以得到新的 ASCII 值。最後,我們用透過使用 (char)(ASCII 值) 將新的 ASCII 值轉換回其字元形式獲得的新符號替換該字元。此過程對字串中的每個字元重複,生成修改後的字串作為最終結果。
#include <iostream>
#include <string>
using namespace std;
string replace(string str, int K){
int len = str.length();
for(int i=0; i<len; i++){
int ascii = (int)str[i];
int new_ascii = ascii * K;
str[i] = (char)new_ascii;
}
return str;
}
int main(){
string str = "hello";
int K = 3;
string new_str = replace(str, K);
cout<<"Modified string: "<<new_str<<endl;
return 0;
}
輸出
Modified string: 8/DDM
方法 2
另一種方法是利用字串類的“replace()”函式對每個字元執行必要的運算。此技術的程式碼如下:
示例
最初,我們計算輸入字串“str”的長度。然後,使用“for”迴圈,我們遍歷字串的每個字元。對於每個符號,我們透過使用 (int)str[i] 將其轉換為整數值來計算其 ASCII 值。我們將 ASCII 值乘以“K”以確定新的 ASCII 值。我們建立一個名為“new_char”的新字串,並新增透過使用 (char)(ASCII 值) 將新的 ASCII 值轉換回字元獲得的新符號。然後,我們利用字串類的“replace()”函式用新符號“new_char”替換位於索引“i”處的字元。這些步驟對字串中的每個字元重複。然後,修改後的字串作為最終結果返回。
#include <iostream>
#include <string>
using namespace std;
string replace(string str, int K){
int len = str.length();
for(int i=0; i<len; i++){
int ascii = (int)str[i];
int new_ascii = ascii * K;
string new_char = "";
new_char += (char)new_ascii;
str.replace(i, 1, new_char);
}
return str;
}
int main(){
string str = "helloworld";
int K = 3;
string new_str = replace(str, K);
cout<<"Modified string: "<<new_str<<endl;
return 0;
}
輸出
Modified string: 8/DDMeMVD,
結論
在本文中,我們探討了在 C++ 中用 ASCII 值乘以 K 的符號替換字串中每個字元的方法。介紹了兩種解決此問題的不同方法,並提供了這兩種方法的程式碼示例。此問題在需要根據應用於其 ASCII 值的某些算術運算來更改給定字串的情況下可能非常有價值。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP