Algorithm/Problems
n개의 수의 총합을 계산하기
공부좀하시졍
2020. 4. 10. 14:55
#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