请问这个程序怎么编写

给定一维数组里放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容器,使用查找算法查找