寻找指定元素

来源:互联网 发布:度量矩阵图片 编辑:程序博客网 时间:2024/04/28 04:27

在已知数表中找出第一个与指定值相等的元素的下标和指针。这个实例还是比价简单的。

我的思路是,首先创建一个struct结构,该结构中有两个成员变量,一个是数组元素的下标,一个是数组元素的指针值,当程序进程查找的时候,将找到的结果保存到该结构上。下面是我的程序的实现部分:

#include <stdio.h>#define SIZE 100/** * @brief The element struct *  元素的结构,包括元素的下标和元素的指针 */struct element{    int subScript;    int p;};/** * @brief Search 在数组array中,寻找第一个与key相等的元素的下标和指针 * @param key 要寻找第一个与key相等的元素 * @param array 要被寻找的数组 * @param n 数组array中有几个元素 * @return 返回含有元素下标和指针的结构 */struct element Search(int key,int array[],int n){    int i = 0;    struct element ele;    for(i = 0;i < n;i++){        if(key == array[i]){            ele.subScript = i;            ele.p = &array[i];            return ele;        }    }    return ele;}/** * 在已知数表中找出第一个与指定值相等的元素的下标 * 和指针 * @brief main * @return */int main(void){    int n;    int i;    int key;    int array[SIZE];    printf("Please enter the length of the array:\n");    scanf("%d",&n);    printf("Please enter the lements of the array:\n");    for(i = 0;i < n;i++){        scanf("%d",&array[i]);    }    printf("Please enter the key for searching:\n");    scanf("%d",&key);    struct element searched = Search(key,array,n);    //查看是否已经查到匹配的元素    if(searched.p == 0){        printf("There is no element equals to key!!\n");    }else{        printf("The subscript of the element is %d.\n",searched.subScript);        printf("The pointer of the element is %d.\n",searched.p);    }    return 0;}

下面是我的程序运行的截图:

这里写图片描述

0 0