编程实现从键盘输入5个英文单词(每个单词不超过20个字母),然后将它们按照字典序(即字母从小到大的顺序)排序后打印输出。要求:编写assign函数、sort函数、show函数,分别用于实现单词的键盘输入、单词的排序、单词的输出。目前,已完成main函数的编写,请编写assign、sort和show函数
时间: 2023-12-03 17:44:52 浏览: 488
下面是一个可能的实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void assign(string words[]) {
for (int i = 0; i < 5; i++) {
cin >> words[i];
}
}
void sort(string words[]) {
std::sort(words, words + 5);
}
void show(string words[]) {
for (int i = 0; i < 5; i++) {
cout << words[i] << endl;
}
}
int main() {
string words[5];
assign(words);
sort(words);
show(words);
return 0;
}
```
在这个实现中,assign函数使用循环从键盘输入5个单词,保存在一个字符串数组中。sort函数使用了STL库中的sort函数对字符串数组进行排序。show函数使用循环打印排好序的字符串数组中的每个单词。最后,在main函数中调用这三个函数,完成整个程序的执行。
相关问题
7-1 字符串排队 分数 5 作者 马俊 单位 兰州大学 从键盘上输入若干个英文单词,请按照字典顺序将这些单词输出。 输入格式: 在一行中输入不超过20个英文单词,用空格分开。 输出格式: 在一行中输出前面输入的英文单词,按照字典序顺序输出,用空格作为分割符。 输入样例: I am a student 输出样例: I a am student
好的,我的回答是:
您可以使用字符串排序算法,比如快速排序或归并排序,对输入的单词进行排序,然后按照字典序输出即可。具体实现可以使用编程语言,比如C++、Java等。以下是C++的示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> words;
string word;
while (cin >> word) {
words.push_back(word);
}
sort(words.begin(), words.end());
for (int i = 0; i < words.size(); i++) {
cout << words[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序会读入一行英文单词,然后把它们存储到一个vector中,再对vector进行排序,最后按照字典序输出排序后的单词。
在jupyter notebook中编程:用户从键盘中输入一个长字符串(字符串的内容是一个英文句子,句子中至少有10个以上的单词且单词不能重复,单词之间用1个空格分开), 使用字符串方法(split方法)将这个句子切分为一个个单词,并以列表的形式保存下来; 记录每个单词的字母的个数(将单词和对应的字母个数以字典的形式存储到字典中)【提示:需要用for语句遍历列表中的每个单词(需要自行学习这个用法)】; 打印出每个单词及其长度【提示:需要使用for语句遍历字典的每个元素,即需要使用到items()方法】。
以下是代码实现:
```python
# 用户从键盘中输入一个长字符串
sentence = input("请输入一个英文句子:")
# 使用字符串方法(split方法)将这个句子切分为一个个单词,并以列表的形式保存下来
word_list = sentence.split()
# 记录每个单词的字母的个数(将单词和对应的字母个数以字典的形式存储到字典中)
word_dict = {}
for word in word_list:
word_dict[word] = len(word)
# 打印出每个单词及其长度
for word, length in word_dict.items():
print(word, length)
```
如果您有任何问题或需要进一步帮助,请随时问我。
阅读全文