作业帮 > 综合 > 作业

C语言求解(在一个整数序列中查找给定的整数x,若查到则输出位置,否则输出“未找到”.)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/09 00:35:28
C语言求解(在一个整数序列中查找给定的整数x,若查到则输出位置,否则输出“未找到”.)
在一个整数序列中查找给定的整数x,若查到则输出位置,否则输出“未找到”.
有没有人能写出主函数代码T T
1、我不知道输了多少个数字,怎么定义数组
2、在查找数字时,我不知道整数长度,怎么终止循环
#include <stdio.h>

void find(int x, int a[], int n)
{
  int i;
  for (i = 0; i < n; i++)
    if (a[i] == x)
    {
      printf("found at index: %d\n", i);
      break;
    }
  if (i == n) printf("no found\n");
}

int main()
{
  int a[BUFSIZ], i, n, x;
  printf("input array length: ");
  scanf("%d", &n);
  printf("input array element: ");
  for (i = 0; i < n; i++)
    scanf("%d", &a[i]);
  printf("input x: ");
  scanf("%d", &x);
  find(x, a, n);
  return 0;
}
再问: void find是啥?
再答: void find(int x, int a[], int n)
是一个函数,用来在长度为 n 的数组 a 中查找 x,
若查到则输出位置,否则输出“no found”。
再问: BUFSIZ又是啥?
再答: BUFSIZ 是定义在 stdio.h 中的一个宏,通常用作默认的缓冲区大小。
再问: 为啥不能直接int a[]
再答: 必须给出数组大小,以便后面的使用,这里把数组定义为默认的大小 BUFSIZ,这个值通常是 512,正常情况下够用了。