#include <stdio.h>
#define SIZE 100
int sumArr(int arr[],int sum,int indexNum);
int main(){
	int n;
	int arr[SIZE]={0, };
	int i, sum=0;
	
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&arr[i]);
	
	sum=sumArr(arr,sum,i);
	printf("합: %d\n",sum);
		
	return 0;
}
int sumArr(int arr[],int sum,int indexNum){
	sum+=arr[indexNum];
	if(indexNum==0)
		return sum;
	else {
		return sumArr(arr,sum,--indexNum);
	}
}n개의 수를 입력 받아 재귀함수를 이용하여 배열에 들어 있는 값의 총합을 구한다.
반복문을 이용하면 뚝!딱! 했겠지만 재귀함수만을 이용하려니 생각보다 시간이 걸렸다,, 공부하자,,,,
int sumArr(int arr[],int n){
	if(n==1)
		return *arr;
	else
		return arr[n-1]+sumArr(arr,n-1);
}위 함수랑 똑같지만 return만을 이용하여 더 간단하게 짤 수도 있다.

2020/04/10 - [Algorithm/Problems] - n개의 수 중 최솟값 찾기
n개의 수 중 최솟값 찾기
#include #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];"> </n;i++)>
jung-in5ecurity.tistory.com
'Algorithm > Problems' 카테고리의 다른 글
| [프로그래머스] 체육복 (탐욕법 Greedy) (0) | 2022.08.16 | 
|---|---|
| [백준] 2675번 문자열 반복 (0) | 2022.08.11 | 
| [프로그래머스] 타겟 넘버 (DFS/BFS) (0) | 2022.08.02 | 
| selection sort(선택 정렬) (0) | 2020.04.10 | 
| n개의 수 중 최솟값 찾기 (0) | 2020.04.10 |