寻找指定元素

最后更新于:2022-04-01 14:28:47

在已知数表中找出第一个与指定值相等的元素的下标和指针。这个实例还是比价简单的。 我的思路是,首先创建一个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; } ~~~ 下面是我的程序运行的截图: ![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-24_5743c07566375.jpg "")
';