码迷,mamicode.com
首页 > 其他好文 > 详细

寻找指定元素

时间:2015-05-11 21:58:31      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:结构   指针   引用   数组   

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

我的思路是,首先创建一个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;
}

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

技术分享

寻找指定元素

标签:结构   指针   引用   数组   

原文地址:http://blog.csdn.net/hongbochen1223/article/details/45648537

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!