利用 stringstream ssin(string);
拆分单词
包含头文件
#include <sstream>
#include <iostream>
#include <sstream>
using namespace std;
int nums[26];
int main() {
string str;
getline(cin, str);
stringstream ssin(str);
// 统计字母个数、单词个数
int num_letter = 0, num_word = 0, size = 0;
string s;
while (ssin >> s) {
// cout << s << endl;
size = s.size();
num_letter += size;
num_word++;
for (int i = 0; i < size; i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
nums[s[i] - 'A']++;
}
if (s[i] >= 'a' && s[i] <= 'z') {
nums[s[i] - 'a']++;
}
}
}
// 第一行输出此句子中英文字母的个数
cout << num_letter << endl;
// 第二行输出此句子中单词的个数
cout << num_word << endl;
// 统计最多的次数
int num_times = 0;
for (int i = 0; i < 26; i++) {
if (nums[i] > num_times) {
num_times = nums[i];
}
}
// 第三行输出出现最多的字母
for (int i = 0; i < 26; i++) {
if (num_times == nums[i]) {
cout << (char)('a' + i) << ' ';
}
}
puts("");
// 第四行出现最多的字母的出现次数
cout << num_times << endl;
return 0;
}