寻找指定元素

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

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

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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天堂1223

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值