【发布时间】:2013-11-27 02:52:31
【问题描述】:
如何检查数组是否已经包含值?
例如, 输入:1 输出:1
输入:1 错误!:号码存在
输入:2 输出:2
当用户输入已经存在于数组中时,它会显示错误并要求他们再次输入,直到他们输入不同的值。当输入不同的值时,该值将被添加到数组中。如果输入的值与任何元素值相同,则不会添加到数组中。
int num[5], temp;
bool val = true, existed = false;
for(int i = 0; i < 5; i++){
val = true;
while(val){
cout << "\nPlease enter a number:";
cin >> temp;
for(int x = 0; x < 5; x++){
if(temp == num[x]){
existed = true;
}
}
if(existed){
cout << "Number existed";
} else {
num[i] = temp;
cout << "Your number" << num[i];
val = false;
}
}
}
【问题讨论】:
-
就是这么简单的事情。当然,您可以自己尝试一下。通常,我们会要求该论坛的发帖者展示他们自己所做的尝试。如果你太害羞而不敢这样做,那么你就不太可能得到任何帮助。
-
是的,我在上面添加了我的尝试。我不确定为什么它不起作用。可能是我的逻辑
-
问题只是你放置
bool existed = false;的位置。移动它,使其位于第二个 for 循环bool existed = false; for(int x = 0; x < 5; x++){ ...之前。您需要将existed设置为 false 每次 测试是否存在,而不仅仅是在程序开始时设置一次。 -
哦,谢谢它现在可以工作了。
标签: c++