C++【jzoj】计算英文字母的个数 题目描述 从键盘输入一串字符串,因输入的未知性,数组只接受英文字母,且以“.”结束,请计算出数组中英文字母出现的个数,并按照字母的ascII码从大到小按序输出。
时间: 2024-04-09 14:28:35 浏览: 44
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
可以使用一个大小为26的数组来统计英文字母的个数。首先,初始化数组的所有元素为0。然后,遍历输入的字符串,如果字符是英文字母,则将对应的数组元素加一。最后,按照字母的ASCII码从大到小的顺序输出数组元素不为0的字母及其个数。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int count[26] = {0};
cout << "请输入字符串:";
getline(cin, str);
for (char c : str) {
if (isalpha(c)) {
count[toupper(c) - 'A']++;
}
}
for (int i = 25; i >= 0; i--) {
if (count[i] > 0) {
cout << (char)('A' + i) << ": " << count[i] << endl;
}
}
return 0;
}
```
注意,这里使用了`isalpha`函数来判断字符是否是英文字母,使用了`toupper`函数来将小写字母转换为大写字母。
阅读全文