当要从数组中查找 一个元素的时候,我们通常会使用遍历的方法先搜索出要查找的元素x,然后使用循环,当搜素到arr[i]=x时,输出此时x的值就是数组元素下标。
遍历数组查找元素下标
#include<stdio.h> int main() { int arr[] = { 1,2,3,4,5,6,7,8,9 }; int i = 0; int x; int flag = 0;//定义这个flag是为了判定能否找到arr[i]=x,找到了flag就为1. printf("请输入要查找的数字:"); scanf("%d", &x); int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i <= sz-1; i++) { if (arr[i] == x) { printf("%d", i); flag = 1; break; } } if (flag == 1) { printf("找到了,下标是:%d", i); } else { printf("没找到"); } return 0; }
这个方法比较浪费运行时间,因为要依次遍历数组,所以下面采用二分法查询数组元素下标。
二分法查询数组元素下标
int main() {