给定一维数组里放6格整数,输入一个数,查找该数是否在数组中,如在则输出它的位置,否则输出找不到。
#include <stdio.h>
/**从数组中查找元素
* @param arr 被查找的数组
* @param len 数组的长度
* @param to_find 要查找的数
* @return -1:没有找到;否则:to_find对应的数组下标
*/
int find(int* arr, int len, int to_find)
{
for (int i = 0; i < len; i++)
{
if (arr[i] == to_find)
return i;
}
return -1;
}
int main()
{
int arr[6] = { 1, 2, 3, 4, 5, 6 };
int pos = find(arr, sizeof(arr) / sizeof(int), 4);
if (pos < 0)
{
printf("Not find\n");
}
else
{
printf("Find pos=%d\n", pos);
}
return 0;
}
int n[6];
int i=0,j=0,find=0,findflag = 0;
for( i=0;i<6;i++){
scanf("%d",&n[i]);
}
scanf("%d",&find);
for(j=0;j<6;j++){
if(n[j] == find ){
findflag = 1;
printf("找到数据在数组的第%d个位置\n",j+1);
}
}
if( findflag == 0){
printf("找不到\n");
}
int function(int buf[6], int num) {
for(int i=0; i<6; i++) {
if(buf[i] == num) return i;
}
return -1;
}
用std::array容器,使用查找算法查找