题意:
找出给定字符串中大写字符(即'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; }
时间复杂度:空间复杂度: