C++ 中字串的第一個大寫字母 (迭代和遞迴)


在本教程中,我們將學習如何在給定的字串中找到第一個大寫字母。讓我們看一個例子。

輸入 −Tutorialspoint

輸出 −T

讓我們看看使用迭代方法解決問題的步驟。

  • 初始化字串。

  • 遍歷字串。

  • 使用isupper方法檢查當前字元是否是大寫。

  • 如果字元是大寫,則返回當前字元。

示例

讓我們看看程式碼。

 即時演示

#include <bits/stdc++.h>
using namespace std;
char firstUpperCaseChar(string str) {
   for (int i = 0; i < str.length(); i++)
      if (isupper(str[i])) {
         return str[i];
      }
      return 0;
   }
   int main() {
      string str = "Tutorialspoint";
      char result = firstUpperCaseChar(str);
      if (result == 0) {
         cout << "No uppercase letter" << endl;
      }
      else {
         cout << result << endl;
      }
   return 0;
}

輸出

如果您執行以上程式碼,則會得到以下結果。

T

讓我們看看使用遞迴方法解決問題的步驟。

  • 初始化字串。

  • 編寫一個遞迴函式,它接受兩個引數字串和索引。

  • 如果當前字元是字串的末尾,則返回。

  • 如果當前字元是大寫,則返回當前字元。

示例

讓我們看看程式碼。

 即時演示

#include <bits/stdc++.h>
using namespace std;
char firstUpperCaseChar(string str, int i = 0) {
   if (str[i] == '\0') {
      return 0;
   }
   if (isupper(str[i])) {
      return str[i];
   }
   return firstUpperCaseChar(str, i + 1);
}
int main() {
   string str = "Tutorialspoint";
   char result = firstUpperCaseChar(str);
   if (result == 0) {
      cout << "No uppercase letter";
   }
   else {
      cout << result << endl;
   }
   return 0;
}

輸出

如果您執行以上程式碼,則會得到以下結果。

T

結論

如果您在本教程中有任何疑問,請在評論區提出。

更新於: 2020-12-29

527 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.