본문 바로가기

카테고리 없음

[C]해당 타겟을 입력받고 선형 탐색 함수를 만들기 (linear search)

## 함수
## 배열 안에 있는 수들을 비교하여 타겟과 같은 수를 찾는다.
## 찾으면 찾은 수를 출력하고
## 못찾으면 -1를 리턴한다.

 

#include<stdio.h>

int Linearfind(int arr[], int len, int target)
{
        int i;
        for ( i = 0; i < len; i++ )
        {
                if ( target == arr[i] )
                        return i;
        }
        return -1;
}

## 메인 함수
## 배열을 선언, 함수를 불러와서 저장할 변수 선언

## scanf로 해당 target으로 설정할 번호를 입력받음.
## 함수를 불러온 변수를 화면 출력한다.

 

int main()
{
        int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
        int index;
        int getnum;

        printf (" 정수를 입력하세요. :" );
        scanf ("%d", &getnum);

        index = Linearfind( arr, sizeof(arr) / sizeof(int), getnum );

        if (index == -1)
                printf("동일한 숫자는 없다");
        else
                printf("%d 의 값과 동일한 숫자는 배열 %d 번째에 있습니다. \n", getnum, index + 1);

        return 0;
}

리눅스에서 실행함

 

[root@node01 c]# gcc -o Linearfind Linearfind.c

[root@node01 c]# ./Linearfind
 정수를 입력하세요. :5
5 의 값과 동일한 숫자는 배열 5 번째에 있습니다.

 

 

 

https://gdlovehush.tistory.com/6참고함