欢迎光临
我们一直在努力

C++学习笔记系列2-21

       查找元素

数组存储的数据既可以遍历输出,也可以通过查找进行输出。举个简单的例子,比如存入一个小组的考试成绩,查找其中一个具体数值,我们可以通过 for循环和 if语句进行制作,为了复习之前的函数我们使用函数来进行代码编写

#include <iostream>

using namespace std;

void func( int arr[ ] , int sizeint 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循环语句,不难看出现在的代码逻辑开始变得复杂,但都逃不出这些简单的语法知识,通过不断地实践我们就能将他们掌握的越来越熟练,让它们的特效为需求服务。本节就到这吧

 

赞(0)
未经允许不得转载:171主机测评 » C++学习笔记系列2-21
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址