假设我们有一个字符串“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”。