C语言按照序列原有顺序对数组进行遍历比较,查询指定的数值的基本查找算法

【问题描述】4.1.1 顺序查找:按照序列原有顺序对数组进行遍历比较,查询指定的数值的基本查找算法。

要求:从键盘输入10个整数(不重复),保存到数组中;再输入一个整数x,利用顺序查找法查询整数x在数组中的位置,如果查询到则输出x在数组中的位置,如果未查询到,输出“Not Found”。

【输入输出样例1】

21 2 36 47 5 65 7 -89 9 100

7

Index is 6(输出结束不换行)

【输入输出样例2】

21 2 36 47 5 65 7 -89 9 100

12

Not Found(输出结束不换行)

源代码

#include <stdio.h>

int sequentialSearch(int arr[], int n, int key) {
    int i;
    for (i = 0; i < n; i++) {
        if (arr[i] == key) {
            return i;
        }
    }
    return -1;
}

int main() {
    int arr[10];
    int i, x, result;
    
    printf("请输入10个整数(不重复):");
    for (i = 0; i < 10; i++) {
        scanf("%d", &arr[i]);
    }
    
    printf("请输入一个整数x:");
    scanf("%d", &x);
    
    result = sequentialSearch(arr, 10, x);
    
    if (result != -1) {
        printf("Index is %d\n", result);
    } else {
        printf("Not Found\n");
    }
    
    return 0;
}

上述程序中,我们定义了sequentialSearch函数来进行顺序查找。它接受一个整型数组arr、数组长度n和要查找的整数key作为参数。通过遍历数组,逐个比较元素与key的值,如果找到了匹配的元素,则返回该元素的索引;如果遍历完整个数组都没有找到匹配的元素,则返回-1。

main函数中,我们首先从键盘输入10个整数,保存到数组arr中。然后再输入一个整数x,利用顺序查找算法查询x在数组中的位置。如果找到了,则输出Index is 和相应的索引值;如果未找到,则输出Not Found

你可以根据题目要求进行输入并查看输出结果。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享