学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!
附上汇总贴:小猴编程C++ | 汇总-CSDN博客
【题目描述】
小猴最近学习了字符串,为了加强对字符串的理解,猴博士特意给小猴安排了一道编程题:
给定一个字符串
s
s
s,保证
s
s
s中只包含大写字母(‘A’‘Z’)和小写字母(‘a’‘z’),请你判断字符串
s
s
s中是否包含了全部
26
26
26个英文字母,无论某个英文字母是以大写还是小写形式出现在字符串中,均视为该字符串包含此字母。
现在请你帮助小猴完成这个编程题。
【输入】
一行,一个字符串
s
s
s。
【输出】
一行, 如果给定字符串包含了全部
26
26
26个英文字母, 则输出Yes, 否则输出No。
【输入样例】
toosmallword
【输出样例】
No
【代码详解】
#include <bits/stdc++.h>
using namespace std;
bool f[130]; // 直接按照ASCII码定义数组
int main()
{
string s;
cin >> s;
// 统一成小写,统计每个字母是否出现
for (int i=0; i<s.size(); i++) {
if (s[i]>='A' && s[i]<='Z') {
s[i] = s[i] - 'A' + 'a';
}
f[s[i]] = true; // 使用桶记录每个字符
}
for (int i='a'; i<='z'; i++) { // 遍历26个字母的下标
if (!f[i]) { // 如果其中有f[i]==false
cout << "No" << endl; // 输出No
return 0;
}
}
cout << "Yes" << endl; // 如果可以遍历完,则输出Yes
return 0;
}
【运行结果】
toosmallword
No