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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告