使用 C++ 检测给定字符串中的大写字母
假设我们有一个字符串“str”,其中包含一些字符。任务是检查给定字符串的所有字符是否都大写,并分别返回 True 或 False。例如,
输入-1 −
str = “INDIA”
输出 −
True
解释 − 由于输入字符串的所有字符都大写,因此在这种情况下我们将返回 true。
输入-2 −
str = “Programmer”
输出 −
False
解释 − 由于输入字符串的所有字符除了第一个字母之外都不是大写,因此在这种情况下我们将返回 false。
解决此问题的方法
在给定的字符串中,我们必须检查输入字符串的所有字符是否都大写。因此,我们将遍历字符串的每个字符,并检查它是否大于“A”且小于“Z”。
如果条件为真,则我们将增加计数器。然后,我们将继续前进并再次检查计数器的大小是否与字符串的长度相同,如果是,则返回 true,否则返回 false。
输入字符串“str”
布尔函数 checkCapital(string s) 以字符串作为输入,如果字符串的所有字符都大写,则返回 true。
获取一个计数器变量并将其初始化为零。
遍历字符串并检查当前字符是否在“A”到“Z”的范围内,如果条件为真,则递增计数器变量。
现在检查计数器是否与字符串的大小相同,并据此返回 True/False。
如果计数器为 0 或字符串只有一个大写字符,则返回 true。
示例
#include<bits/stdc++.h> using namespace std; bool checkCapital(string s){ int counter=0; int loc=i; for(int i=0;i<s.size();i++){ if(s[i]>='A' && s[i]<= 'Z'){ counter++; loc=i; } } if(counter==s.size() || counter==0 ||(counter==1 && loc==0)) return true; return false; } int main(){ string str= "INDIA"; bool ans= checkCapital(str); if(ans){ cout<<"True"<<endl; } else { cout<<"False"<<endl; } return 0; }
输出
运行以上代码将生成以下输出:
True
由于输入字符串“INDIA”的所有字符都大写,因此输出为“True”。
广告