题意:
找出给定字符串中大写字符(即'A'-'Z')的个数。
方法一:
循环模拟
思路:一重循环,累加大写字符个数。
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
while(getline(cin,s)){//输入
int len=s.size();
int res=0;
for(int i=0;i<len;i++){
if(s[i]>='A'&&s[i]<='Z')//累加大写字符个数
res++;
}
cout << res << endl;
}
return 0;
}
时间复杂度:
空间复杂度:![]()
方法二:
C++函数
思路:isupper()函数判断是否为大写字母,循环遍历并通过大写字母的个数。
#include <bits/stdc++.h>
using namespace std;
int cnt[26];
int main(){
string s;
while(getline(cin,s)){//输入
int len=s.size();
int res=0;
for(int i=0;i<len;i++){
if(isupper(s[i]))//累加大写字符个数
res++;
}
cout << res << endl;
}
return 0;
}
时间复杂度:
空间复杂度:![]()



京公网安备 11010502036488号