59 lines
1.7 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include<iostream>
#include<string>
#include<map>
int main()
{
int a = 0;
std::cout << "请输入单词:" << std::endl;
std::cout << "退出按ctrl+z后回车" << std::endl;
std::string word;
std::map<std::string, int>word_data;
while (std::cin >> word) {
word_data[word] = word_data[word] + 1;
a = a + 1;
}
std::map<std::string, int>::iterator mp_next = word_data.begin();
std::cout << "输入的单词个数:" << a << std::endl;
while (mp_next != word_data.end())
{
std::cout << mp_next->first << " 的出现次数:" << mp_next->second << std::endl;
mp_next++;
}
}
#include <iostream> // 引入标准输入输出流库
#include <string> // 引入字符串库
#include <map> // 引入map容器库
int main()
{
int a = 0; // 用于统计输入的单词总数
std::cout << "请输入单词:" << std::endl; // 提示用户输入单词
std::cout << "退出按ctrl+z后回车" << std::endl; // 提示用户如何结束输入
std::string word; // 定义一个字符串变量,用于存储单个单词
std::map<std::string, int> word_data; // 定义一个map容器key为单词value为单词出现的次数
// 循环读取用户输入的单词直到用户输入结束Ctrl+Z后回车
while (std::cin >> word) {
word_data[word] = word_data[word] + 1; // 更新单词出现次数若不存在则初始化为1
a = a + 1; // 每读取一个单词计数器加1
}
// 定义一个迭代器用于遍历map容器
std::map<std::string, int>::iterator mp_next = word_data.begin();
// 输出总的输入单词数量
std::cout << "输入的单词个数:" << a << std::endl;
// 遍历map容器输出每个单词及其出现次数
while (mp_next != word_data.end())
{
std::cout << mp_next->first << " 的出现次数:" << mp_next->second << std::endl; // 输出单词和对应次数
mp_next++; // 移动迭代器到下一个元素
}
return 0; // 程序结束
}