배열에 값을 입력하는 함수도 배열의 값을 출력하는 함수와 구현 방법은 같습니다. 다만 입력 함수는 데이터를 저장할 배열의 위치가 함수 안에서 포인터를 직접 사용합니다.
// 배열에 값을 입력하는 함수
#include <stdio.h>
void input_ary(double *pa, int size);
double find_max(double *pa, int size);
int main(void)
{
double ary[5];
double max;
int size = sizeof(ary) / sizeof(ary[0]);
input_ary(ary, size); // 배열의 값 입력
max = find_max(ary, size); // 배열의 최댓값 반환
printf("배열의 최댓값 : %.1lf\n", max);
return 0;
}
void input_ary(double *pa, int size);
for (i = 0; i < size; i++) // size의 값에 따라 반복 횟수 결정
{
scanf("%lf", pa + i); // &pa[i]도 가능, 입력할 배열 요소의 주소를 전달
}
}
double find_max(double *pa, int size)
{
double max;
int i;
max = pa[0]; // 첫 번째 배열 요소의 값을 최댓값으로 설정
for (i = 1; i < size; i++) // 두 번째 배열 요소부터 max와 비교
{
if (pa[i] > max) max = pa[i]; // 새로운 배열 요소의 값이 max보다 크면 대입
}
return max; // 최댓값 반환
}
'프로그래밍언어 > C 언어' 카테고리의 다른 글
[C 언어] scanf 함수를 사용한 문자 입력 (0) | 2022.12.09 |
---|---|
[C 언어] 아스키 코드 (0) | 2022.12.09 |
[C 언어] 배열 요소의 개수가 다른 배열도 출력하는 함수 (0) | 2022.12.08 |
[C 언어] 배열의 값을 출력하는 함수 (0) | 2022.12.08 |
[C 언어] 포인터의 뺄셈과 관계 연산 (0) | 2022.12.08 |