用结构体和输入输出流编写一程序,允许从键盘输入任意多个英语单词,中间用空格分开,输入0表示输入结束。该程序可以统计同一个英语单词被输入几次,最后对英文单词按字典顺序输出,后面跟上该单词被输入的次数。 点击复制后,将打开C知道体验页 点击复制后,将打开C知道体验页 以
时间: 2023-05-19 22:04:20 浏览: 30
以下是使用结构体和输入输出流编写的程序,可以实现从键盘输入任意多个英语单词,统计同一个英语单词被输入的次数,并按字典顺序输出每个单词及其出现次数:
```
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct WordCount {
string word;
int count;
};
bool compareWord(const WordCount& a, const WordCount& b) {
return a.word < b.word;
}
int main() {
vector<WordCount> wordCounts;
string word;
while (cin >> word && word != "0") {
bool found = false;
for (auto& wc : wordCounts) {
if (wc.word == word) {
wc.count++;
found = true;
break;
}
}
if (!found) {
wordCounts.push_back({word, 1});
}
}
sort(wordCounts.begin(), wordCounts.end(), compareWord);
for (auto& wc : wordCounts) {
cout << wc.word << " " << wc.count << endl;
}
return 0;
}
```
注意:这个程序只能处理英语单词,对于中文等其它语言的单词可能会出现错误。
阅读全文