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

时间:2019-03-14 19:09:01

标签: c++ codeblocks dev-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个单词中的一个单词。

1 个答案:

答案 0 :(得分:0)

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

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进行输入时要careful

  • 如果注释中要固定大小(即4),则可以使用std::array