使用 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”。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP