使用 C++ 检测给定字符串中的大写

阅读 604 收藏 0 点赞 0 评论 0

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

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号