C++ 字串大小寫轉換
給定任意長度的字串,任務是將字串中的大寫字母轉換為小寫字母,小寫字母轉換為大寫字母。
例如
輸入− 字串 str = ”Welcome To The Site!”
輸出− wELCOME tO tHE sITE!
解釋− 將字母 W、T、T、S 轉換為小寫,將字母 e、l、c、o、m、e、o、t、h、e、s、i、t、e 轉換為大寫,特殊字元保持不變。
輸入− 字串 str = ”HELLO”
輸出− hello
解釋− 將字母 H、E、L、L、O 轉換為小寫。
這可以使用兩種不同的方法實現
使用 C++ 提供的內建函式執行這些操作,即 toLowerCase(char) 和 toUpperCase(char)。
透過邏輯,我們在下面的程式中實現。
下面程式中使用的方法如下
輸入任意長度的字串
使用 length() 函式計算字串長度,該函式將根據字串中字母的數量(包括空格)返回一個整數值。
大寫字母 [A-Z] 的 ASCII 值從 65 到 90,小寫字母 [a-z] 的 ASCII 值從 97 到 122。
啟動迴圈,比較字串中的每個字母。如果字母是大寫,則新增 32 將其轉換為小寫;如果字母是小寫,則減去 32 將其轉換為大寫。
列印字串。
示例
#include<iostream> using namespace std; void Convert_case(string &str){ //calculate the length of a string int len = str.length(); //converting lowercase to uppercase and vice versa for (int i=0; i<len; i++){ if (str[i]>='a' && str[i]<='z'){ str[i] = str[i] - 32; } else if(str[i]>='A' && str[i]<='Z'){ str[i] = str[i] + 32; } } } int main(){ string str = "What’s Your Name?"; cout<<"String before conversion is: "<<str; Convert_case(str); cout<<"\nString after conversion is: "<<str; return 0; }
輸出
如果執行以上程式碼,將生成以下輸出:
String before conversion is − What’s Your Name? String after conversion is &mius; wHAT’S yOUR nAME?
廣告