C语言刷题系列——9.在数组中查找指定元素

简介: C语言刷题系列——9.在数组中查找指定元素

🔆一) 题目要求


函数接口定义:
int search( int list[], int n, int x );

其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到


则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。

裁判测试程序样例:
#include <stdio.h>
#define MAXN 10
int search( int list[], int n, int x );
int main()
{
    int i, index, n, x;
    int a[MAXN];
    scanf("%d", &n);
    for( i = 0; i < n; i++ )
        scanf("%d", &a[i]);
    scanf("%d", &x);
    index = search( a, n, x );
    if( index != -1 )
        printf("index = %d\n", index);
    else
        printf("Not found\n");
    return 0;
}
/* 你的代码将被嵌在这里 */



🔆二) 题解


思路:

从0到n-1遍历list,如果list[i]等于x,返回 i(return i 就直接结束这个函数了,不会继续循环)

如果list中没找到x,返回-1(这里用flag,详见↓)

int search( int list[], int n, int x )
{
    int i = 0;
    int flag = 0;
    for(i = 0;i<n;i++)
    {
        if(list[i]==x)
        {
            flag = 1;
            return i;
        }
    }  
    if(flag == 0)
        return -1;
}
相关文章
|
6天前
|
存储 编译器 C语言
C语言数组详解
C语言数组详解
13 1
|
7天前
|
C语言
C语言刷题(函数)
C语言刷题(函数)
|
7天前
|
C语言
C语言刷题(数组)
C语言刷题(数组)
|
8天前
|
编译器 C语言
指针进阶(数组指针 )(C语言)
指针进阶(数组指针 )(C语言)
|
8天前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
1天前
|
存储 编译器 数据库
结构体数组在C语言中的应用与优化技巧
结构体数组在C语言中的应用与优化技巧
|
6天前
|
存储 C语言
C语言中的多级指针、指针数组与数组指针
C语言中的多级指针、指针数组与数组指针
7 0
|
6天前
|
存储 C语言
C语言数组指针详解与应用
C语言数组指针详解与应用
13 0
|
7天前
|
C语言
C语言刷题(循环结构程序设计)
C语言刷题(循环结构程序设计)
|
8天前
|
存储 算法 C语言
【C语言刷题系列】消失的数字
【C语言刷题系列】消失的数字