第一次堆栈溢出。
我有这个作业要上课,我们有一个猜谜游戏,我们的程序必须生成一个由用户定义的长度为 n 且 n 不同的大写字母组成的字符串。我完成了大部分作业,但在生成字符串时,我迷失了如何将这些条件放在适当的位置以使其正常工作。
char create_sequence(){
return rand() % 26 + 65;
}
你有什么建议吗?
最佳答案
如果您知道序列长度,则不需要不同字符的数量。这是因为您需要 length <= characters
.
创建 n
的序列独特的字符写一个单独的函数:
vector<char> create_sequence(int n) {
vector<char> letters;
for (char ch = 'A'; ch <= 'Z'; ++ch) {
letters.push_back(ch);
}
vector<char> sequence;
for (int i = 0; i < n; ++i) {
int index = rand() % letters.size();
sequence.push_back(letters[index]);
letters.erase(letters.begin() + index, letters.begin() + index + 1);
}
return sequence;
}
关于c++ - 如何给 Rand() 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545824/