Page 58 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 58
클 때) a[i] 값을 max에 대입합니다. 결과적으로 배열의 모든 요소에 대해 주사를 완료한 시점
의 배열 a의 최대 요솟값은 max에 대입됩니다.
배열 요소의 최댓값을 구하는 함수
실습 2-5는 배열 요소의 최댓값을 구하는 과정을 독립된 maxof 함수로 구현한 프로그램입
니다. 이 함수는 인수로 받은 배열 a의 최댓값을 구하고 그 값을 반환합니다.
실습 2-5 •완성 파일 chap02/ary_max.c
01 /* 배열 요소의 최댓값을 구합니다(값을 입력합니다). */
실행 결과
02 #include <stdio.h>
사람 수 : 5
03 #include <stdlib.h> 5 사람의 키를 입력하세요.
04 height[0] : 172
05 /*--- 요소 개수가 n인 배열 a의 요소의 최댓값을 구합니다. ---*/ height[1] : 153
06 int maxof(const int a[], int n) height[2] : 192
height[3] : 140
07 {
height[4] : 165
08 int i;
최댓값은 192입니다.
09 int max = a[0]; /* 최댓값 */
10 for(i = 1; i < n; i++)
11 if(a[i] > max) max = a[i];
12 return max;
13 }
14
15 int main (void)
16 {
17 int i;
18 int *height; /* 배열의 첫 번째 요소의 포인터 */
19 int number; /* 인원 = 배열 height의 요소 개수 */
20 printf("사람 수 : ");
21 scanf("%d", &number);
22 height = calloc(number, sizeof(int)); /* 요소 개수 number개인 배열을 생성 */
23 printf("%d 사람의 키를 입력하세요.\n", number);
24 for(i = 0; i < number; i++) {
25 printf("height[%d] : ", i);
26 scanf("%d", &height[i]);
27 }
28 printf("최댓값은 %d입니다.\n", maxof(height, number));
29 free(height); /* 배열 height를 해제 */
30
31 return 0;
32 }
58 C 알고리즘