반응형
정수 n개가 주어졌을 때 n개의 합을 구하는 함수를 구하는 문제이다.
먼저 제출을 누르면 다음과 같이 정답 양식이 나온다.
long long sum(int *a, int n) {
long long ans = 0;
return ans;
}
위 양식에 맞추어 함수를 만들어주면 되겠다.
*a는 정수가 저장된 배열을 가리키는 포인터이고 n은 정수의 개수를 나타낸다.
따라서
long long sum(int *a, int n) {
long long ans = 0;
for (int i = 0; i < n; i++) {
ans += a[i];
}
return ans;
}
위와같이 for문을 이용하여 파라미터로 전달받은 a배열에서 n개만큼 반복하여 ans에 더해주면 된다.
이를 이용하여 main함수도 만들어보자.
#include <stdio.h>
long a[3000000] = { 0 };
long long sum(int* a, int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i];
}
return sum;
}
int main() {
int n;
int result = 0;
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", a+i);
}
result = sum(a, n);
printf("%d", result);
}
a 배열의 크기가 너무 커서 전역변수로 두었다
for문을 이용하여 n개의 정수를 차례대로 입력받아 a 배열에 저장해준다
result 변수에는 위 sum 함수의 결과를 저장해준 후 출력해주면 된다.
반응형
'C > 백준알고리즘' 카테고리의 다른 글
[C] 백준알고리즘 #1712 손익분기점 (0) | 2021.02.03 |
---|---|
[C] 백준알고리즘 #1065 한수 (0) | 2021.01.28 |
[C] 백준알고리즘 #4344 평균은 넘겠지 (0) | 2021.01.21 |
[C] 백준알고리즘 #8958 OX퀴즈 (0) | 2021.01.21 |
[C] 백준알고리즘 #1546 평균 (0) | 2021.01.20 |