查找元素
数组存储的数据既可以遍历输出,也可以通过查找进行输出。举个简单的例子,比如存入一个小组的考试成绩,查找其中一个具体数值,我们可以通过 for循环和 if语句进行制作,为了复习之前的函数我们使用函数来进行代码编写
#include <iostream>
using namespace std;
void func( int arr[ ] , int size, int num )//arr[ ] 是数组,size 是数组长度,num 是想要查找的值
{
bool find = false; // 这个变量是用于在没有与输入值匹配时,进行数据反馈的
for (int i = 0; i < size ; i++ )
{
// 输入值会与每一轮循环得到的数组值进行 if语句的比较
if ( num == arr[ i ] )
{
find = true; // 进入 if语句,则说明输入值找到了和数组中一样的值,
我们将这个 bool 变量改为 true,然后输出下方内容,
输出完毕,则使用 break 跳出循环
cout << "找到传入值,它位于第" << i << "号索引处。"<<endl;
break; // 跳出循环
}
}
if ( ! find )
{
cout << "没有与传入值一样的数值。" <<endl;
}
// 这里的 find 布尔值,通过对 find 取值的判断决定是否进入,如果
我们在for循环中始终没有满足 num == arr[ i ] 这个条件,则说明该数组
没有与输入相同的元素,那么 find 的值就没有被修改,还是初始值:false,
这里判断条件为“取反”,则将 false 改为 true,因此满足 if 条件,
则进入该语句块,输出下方内容,即:没有与传入值一样的数值。
但是,一旦上方 for循环满足 num == arr[ i ] 这个条件,则语句块中的
find 就被改为 true,跳出循环后,再来到 if ( ! find )这里,
取反后 就变为false,则不能进入该语句块,所以也就不会输出下面的内容了。
}
int main()
{
int arr[ 5 ] = { 15, 21, 39, 88, 96 };
// 调用函数,传入参数,比如我们想查找 39 和 28 这 2 个值
func( arr, 5, 39);
func( arr, 5, 28);
}
输出:找到传入值,它位于第2号索引处。
没有与传入值一样的数值。
这个查找传入值的案例,我们从中复习了函数、if语句、for循环语句,不难看出现在的代码逻辑开始变得复杂,但都逃不出这些简单的语法知识,通过不断地实践我们就能将他们掌握的越来越熟练,让它们的特效为需求服务。本节就到这吧




