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?

更新於:2020年5月15日

507 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告