数组中有6个数,输入一个数,找出这个数是数组中第几个数,如果没找到,则显示“not found”

数组中有6个数,输入一个数,找出这个数是数组中第几个数,如果没找到,则显示“not found”

循环历遍+if

供参考:

#include <stdio.h>
int main()
{
    int a[6] = { 5, 7, 1, 9, 18, 3 }, i, x;
    scanf("%d", &x);
    for (i = 0; i < 6; i++)
        if (a[i] == x) break;
    if (i < 6)
        printf("No:%d", i);
    else
        printf("not found");
    return 0;
}

  • 这篇博客也许可以解决你的问题👉 :编程实现二分查找:设已有一个10个元素的整形数组a,且按值从小到大有序。输入一个整数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出"Not Found"。
  • 除此之外, 这篇博客: 本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”中的 输入格式: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

  • 以下回答由chatgpt基于相关博客总结生成:

    要在数组中找到一个数的位置,可以采用遍历数组的方法,逐个比较每个元素,如果找到了目标数,则返回它的索引位置;如果遍历完整个数组仍未找到,则返回未找到信息。具体实现方法如下(以C语言为例):

    int findIndex(int arr[], int len, int target) {
        for (int i = 0; i < len; i++) {
            if (arr[i] == target) {
                return i;  // 找到了,返回索引位置
            }
        }
        return -1;  // 没找到,返回-1
    }
    

    其中,arr是要查找的数组,len是数组长度,target是要查找的目标数。函数返回值为目标数在数组中的索引位置,如果未找到目标数,则返回-1。

    需要注意的是,在使用此函数前,应先判断目标数是否在数组中存在,否则可能会返回-1,让人误以为目标数在数组中不存在。

    可以通过以下步骤判断目标数是否在数组中存在:

    1. 先将数组排序,可以使用qsort库函数实现,或自己编写排序函数;
    2. 使用二分查找法,加速查找速度。

    如果目标数在数组中不存在,可以返回相应的信息,例如“未找到目标数”的提示信息。