주어진 배열에서 key값이 75인 값을 검색하는 알고리즘을 작성하라.
단, 검색 알고리즘을 함수로 작성하라.
값을 찾았다면 "찾는 값은 ?번째에 있습니다."라고 출력하고, 찾는 값이 없다면 "값을 찾을 수 없습니다."라고 출력하라.
int arr[]={23,47,19,63,57,26,75,73,82,89,47,11};
key=75;
#include<stdio.h>
int Search(int* arr, int size);
int main()
{
int arr[] = { 23,47,19,63,57,26,75,73,82,89,47,11 };
int size = sizeof(arr) / sizeof(arr[0]);
Search(arr, size);
return 0;
}
int Search(int* arr, int size)
{
for (int i = 0; i < size; i++)
{
if (arr[i] == 75)
{
printf("찾는 값은 %d번째에 있습니다.", i + 1);
return 0;
}
}
printf("값을 찾을 수 없습니다.");
return 0;
}
#include<stdio.h>
int Search(int* arr, int key, int size);
int main()
{
int arr[] = { 23,47,19,63,57,26,75,73,82,89,47,11 };
int size = sizeof(arr) / sizeof(arr[0]);
int key = 75;
int ret = Search(arr, key, size);
if (ret == -1)
{
printf("찾는 값이 없습니다.\n);
}
else
{
printf("값은 %d번째에 있습니다.\n", ret + 1);
}
return 0;
}
int Search(int* arr, int key, int size)
{
for (int i = 0; i < size; i++)
{
if (arr[i] == key)
{
return i;
}
}
return -1;
}
외부함수에서 숫자로 return해서 main함수에서 출력하는 방법도 있다는 걸 알았다.