오늘의 실습은 1차원 배열의 활용 예제이다.
윤성우 저 '열혈 C 프로그래밍' 서적의 문제 11-1의 문제 1번을 풀어보았다.
모범 답안과 나의 풀이가 매우 유사하여 산뜻한 기분이다.
소스코드
#include <stdio.h> int main() { int arr[5]; int max, min; int i,sum=0; for (i = 0; i < 5; i++) { printf("입력 : "); scanf_s("%d", &arr[i]); } max = arr[0]; //최대, 최소, 합을 배열의 첫 번째 원소로 초기화하여 기준으로 삼음 min = arr[0]; sum = arr[0]; for (i = 1; i < 5; i++) { if (arr[i] > max) { max = arr[i]; } if (arr[i] < min) { min = arr[i]; } sum += arr[i]; } printf("입력한 정수의 최댓값 : %d \n", max); printf("입력한 정수의 최솟값 : %d \n", min); printf("입력한 정수의 합 : %d \n", sum); return 0; }
하나를 기준으로 삼고 그것을 토대로 비교하는 방식을 사용하였다. 구글에 검색하면 대부분의 예제가 이런 방식으로 최댓값과 최솟값을 산출하고 있는 것을 알 수 있다.
실행결과
'Study (etc) > C' 카테고리의 다른 글
[정렬]버블 정렬 (0) | 2019.02.03 |
---|---|
[포인터]함수의 인자로 배열 전달하기 (1) (0) | 2019.02.03 |
[함수]세 변수에 저장된 값 바꾸기 (0) | 2019.02.03 |
[반복문]continue, break의 활용 (0) | 2019.01.07 |
[반복문] 팩토리얼 (계승) 구하기 (0) | 2019.01.07 |