숫자 n이 있다고 가정합니다. 크기가 n인 배열을 동적으로 만들고 n개의 숫자를 하나씩 가져와서 합을 찾아야 합니다. 배열을 만들기 위해 stdlib.h 헤더 파일 내부에 있는 malloc() 또는 calloc() 함수를 사용할 수 있습니다. n 값도 stdin을 통해 입력으로 제공됩니다.
따라서 입력이 n =6이고 배열 요소가 9, 8, 7, 2, 4, 3인 경우 출력은 9 + 8 + 7 + 2 + 4 + 3 =33이기 때문에 33이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
합계 :=0
-
하나의 입력을 받아 n
에 저장 -
arr :=크기가 n인 배열을 동적으로 생성
-
initialize i :=0의 경우 i
-
입력을 받아 arr[i]
에 저장
-
-
initialize i :=0의 경우 i
-
합계 :=합계 + arr[i]
-
-
반환 합계
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <stdio.h> #include <stdlib.h> int main(){ int *arr; int n; int sum = 0; scanf("%d", &n); arr = (int*) malloc(n*sizeof(int)); for(int i = 0; i < n; i++){ scanf("%d", (arr+i)); } for(int i = 0; i < n; i++){ sum += arr[i]; } printf("%d", sum); }
입력
6 9 8 7 2 4 3
출력
33