如何使用 C++ 随机显示用户输入的字符串?

How to randomly display an user input string using c++?

我正在尝试使用 C++ 随机显示用户输入的字符串,但找不到实现的方法。 目前我正在预定义一些字符串

#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>

using namespace std;

int main()
{ 
 srand(time(0));
 const string wordlist[4] = {"hi","hello","what's up","wassup"};
 string word = wordlist [rand()%4];
 cout<<word;
 return 0;
}

我想要的是:-我不想预先定义它们。我希望用户输入 4 个单词,我将显示用户给出的 4 个单词中的一个单词(随机)。

为此,您必须先从 wordlist 数组中删除 const 限定符。

srand(time(0));
std::vector<string> wordlist(4);
for(auto& s: wordlist) std::cin>>s;
string word = wordlist [rand()%4];
cout<<word;
  • 第 3 行是 C++11 基于范围的 for 循环,这样我就可以轻松地循环遍历 std::vector<string> 的元素而无需索引。

  • 如果字符串中有多个单词,则相应地使用 getline(cin,s)。然后在新行中输入每个字符串。但是混合 cingetline 以获取输入时是

  • 如果评论中提到的尺寸是固定的(即 4),您可以使用 std::array