C, C++/C

[C언어] 삼항(조건) 연산자를 이용하여 5개의 데이터를 입력받고 최솟값 구하기

SeongJo 2020. 11. 1. 11:21
반응형

 

안녕하세요 성조입니다.

오늘은 삼항 연산자를 이용하여 배열에 5개의 데이터를 입력받는 C프로그래밍을 가져왔습니다.

 


코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<stdio.h>
 
int main() {
 
    int num[5= { NULL };
    int min = 0;
 
    printf("\n\n");
 
    for (int i = 0; i < 5; i++// 5개 입력 받기
    {
        printf("\t%d번째 숫자를 입력 : ", i + 1);
        scanf_s("%d"&num[i]);
 
    }
 
    min = num[0];
 
    for (int i = 0; i < 5; i++)
    {
        num[i] < min ? (min = num[i]) : printf("");
    }
 
    printf("\n\t 가장 작은 값은 %d입니다. ", min);
    printf("\n\n");
 
    return 0;
}
 
 

풀이

위에서부터 5, 6번 라인에서 최솟값과 배열을 초기화해줍니다.

 

첫 번째 반복문에서 0번부터 4번까지 5개의 값을 입력받습니다.

이후 반복문 사이의 min = num[0]; 부분에서 min을 0번 배열로 초기화해줍니다.

두 번째 반복문에서 삼항 연산자 (? : )에서 배열 0번 보다 작은 값이 있는지 i번 만큼 연산합니다.

 

추가 설명

배열을 이용해서 i번 만큼 최솟값을 확인한다면 min으로 초기화한 작은 값을 계속해서 비교하고 그 값보다 작은 값이 최솟값이 되는 형태가 됩니다.

 

 


다음 포스팅 때 뵙겠습니다!

이해가 안 가는 부분이 있다면 댓글 부탁드리겠습니다!

반응형