【发布时间】:2020-05-22 00:49:17
【问题描述】:
我正在尝试编写一段代码,该代码会遍历字符串数组的随机元素,然后将其输出。在它输出之后,然后将该元素设置为 0。然后该 if 语句确保不会再次输出该名称。
void group(){
int random = rand() % 50;
int i, j = 0;
while(j<50){
srand(0);
random = rand() % 50;
groupNum = 1;
cout << "Group " << groupNum << " has: ";
if(names[random] != "0"){
cout << names[random] << " ";
names[random] = "0";
j++;
}
if(names[random] == "0"){
continue;
}
i++;
if(i == peoplePerGroup){
groupNum++;
cout << "\n\n";
i=0;
}
}
}
【问题讨论】:
-
srand(0)在每个rand之前保证rand总是产生相同的值。random在这里永远不会改变。 -
你永远不会初始化
i。当然这也不是故意的。