我必须向用户询问一个数字并检查数字中是否存在该数字我是否编写了我的代码但它似乎没有工作我们不允许使用查找功能或其他任何其他功能内置功能,因为我们还没有在课堂上教过这些。以下是我的任务中的确切问题以及我之前编写的代码。
`l= [13, 99, 6, 76, 11, 83, 27, 84, 28, 67, 66, 22, 96, 46, 63, 21, 65, 48, 8, 14 , 84, 22, 28, 11, 83, 87, 11, 76, 6,83,27]`
问题:编写一个程序来搜索数组中的给定元素。
#include <iostream>
using namespace std;
int main() {
int x;
int i, j;
int array[31] = {13, 99, 6, 76, 11, 83, 27, 84, 28, 67, 66, 22, 96, 46, 63, 21, 65, 48, 8, 14 , 84, 22, 28, 11, 83, 87, 11, 76, 6, 83, 27};
for(i = 0; i <= 31; i++){
for( j = 0; j <=
cout << "enter the number to locate in array";
cin >> x;
if(array[i] == x){
cout << x << "found at [" << i << "]" << "\n";
}
else{
cout << "the number was not found in the array" << endl;
}
}
return 0;
}
答案 0 :(得分:0)
作为一个简单的例子,你可以声明一个boolean
变量,所以如果值至少找到一次,那么在循环内,然后分配它true
否则如果循环返回并且找不到值,则通知用户搜索未找到。
此外,您不需要内循环只有一个循环,并在循环外输入搜索值。
此外,如果您需要字符串文本中的字符串注释标记,则必须在其前面加上反斜杠:&#34; Hello there \&#34;你好吗?&#34;否则编译器认为字符串以第一个双引号逗号结束:&#34; Hello there&#34;然后how are you
未声明的标识符。
该程序可能如下所示:
int x;
bool isFound = false;
int array[31] = {13, 99, 6, 76, 11, 83, 27, 84, 28, 67, 66, 22, 96, 46, 63, 21, 65, 48, 8, 14 , 84, 22, 28, 11, 83, 87, 11, 76, 6, 83, 27};
cout << "enter the number to locate in array";
cin >> x;
for(int i = 0; i < 31; i++){ //here: don't write i <= 31
if(array[i] == x){
isFound = true;
cout << x << " found at: " << i << endl;
}
}
if(!isFound)
cout << "The value doesn't exist in the array!" << endl;
0
到n - 1
而不是n
编入索引,所以如果你写array[n]
是Undefined behavior
因为内存不属于它。