Algorithm/Problems

n개의 수 중 최솟값 찾기

공부좀하시졍 2020. 4. 10. 14:45
#include <stdio.h>
#define SIZE 100

int findmin(int arr[],int n,int min);

int main(){
	int n;
	int arr[SIZE]={0,};
	int i, min;
	
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&arr[i]);
	
	min=arr[0];
	min=findmin(arr,n,min);
	printf("최솟값: %d\n",min);
	
	return 0;
}

int findmin(int arr[],int n,int min){
	if(n==1)
		return min;
	else {
		 if(min>arr[n-1]){
		 	min=arr[n-1];
		 	findmin(arr,n-1,min);
		 }
		else {
			findmin(arr,n-1,min); 
		}
	}
}

n개의 정수를 입력받은 후에 재귀함수를 이용하여 최솟값을 찾는 함수이다.

for문으로 쉽게 구할 수 있지만 평소에 잘 쓰지 않았던 재귀함수를 이용하려니 어려웠다..