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
结论
如果您在本教程中有任何疑问,请在评论区提出。
广告