티스토리 뷰

BaekJoon/C

[BaekJoon/C] 백준 10817번 세 수

Gabii_Y 2018. 12. 31. 09:14



이번 포스팅은 백준 알고리즘 사이트의 10817번 세 수 문제를 C 언어로 코딩해보도록 하겠습니다. 아래 url로 접속하시면 문제를 볼 수 있습니다.


https://www.acmicpc.net/problem/10817


이번 포스팅은 지난 포스팅과 같은 단계인 if문 사용해보기 단계입니다.



이 문제의 경우 세 수를 입력 받고, 그 수 중에서 두번째로 큰 수를 출력하는 문제입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
void main() {
    int a, b, c, min;
    scanf("%d %d %d"&a, &b, &c);
    min = a;
    if (min > b)    min = b;
    if (min > c)    min = c;
    
    if (min == a){
        if (b <= c)        printf("%d", b);
        else    printf("%d", c);
    }
    else if (min == b){
        if (a <= c)        printf("%d", a);
        else    printf("%d", c);
    }
    else{
        if (a <= b)        printf("%d", a);
        else    printf("%d", b);
    }
}
cs


먼저 변수 a, b, c로 사용자로부터 입력을 받고 가장 작은 값을 저장할 min이라는 변수를 a값으로 초기화해줍니다.


이후 if문을 사용해 각 값과 b, c 를 비교하어 만약 현재 min값보다 b 또는 c 값이 작다면 min값에 해당 값을 넣어주는 작업을 해줍니다.


그리고 min의 값이 각 세 수의 값과 같을 때, 나머지 두 수를 비교하여 두 수 중 큰 수를 출력합니다.



이 문제는 여러가지 방법으로 풀 수 있는 문제입니다.


저는 처음 떠오른 생각으로 해당 코드를 작성하였지만, 다른 많은 방법으로 코딩할 수 있으므로 다른 코드를 작성해보시는 것도 좋을 것 같습니다.



다음 포스팅에서는 다음 단계의 코드를 보도록 하겠습니다.


다음 포스팅에서 봐요 :)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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 29 30
글 보관함