문제
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력
두 번째로 큰 정수를 출력한다.
예제 입력 1 복사
20 30 10
예제 출력 1 복사
20
예제 입력 2 복사
30 30 10
예제 출력 2 복사
30
예제 입력 3 복사
40 40 40
예제 출력 3 복사
40
예제 입력 4 복사
20 10 10
예제 출력 4 복사
10
출처
- 문제를 만든 사람: baekjoon
#include <stdio.h>
void findSec(int num1, int num2, int num3)
{
if (num1 > num2) //A가 가장 큰경우
{
if (num1 > num3)
{
if (num2 > num3)
{
printf("%d", num2);
}
else printf("%d", num3);
}
else if (num2 == num3)printf("%d", num2);
else if (num1 == num3)printf("%d", num1);
else printf("%d", num2);
}
else if (num2 > num3) { //B가 가장 큰경우
if (num1 > num3)
{
if (num2 > num1)printf("%d", num1);
else printf("%d", num2);
}
else if (num1 == num2)printf("%d", num1);
else if (num1 == num3)printf("%d", num1);
else printf("%d", num3);
}
else if (num3 > num1) { //C가 가장 큰경우
if (num2 > num1)
{
if (num3 > num2)printf("%d", num2);
else printf("%d", num3);
}
else if (num2 == num1)printf("%d", num1);
else if (num3 == num2)printf("%d", num1);
else printf("%d", num1);
}
else if (num1 == num2)
{
if (num1 > num3)printf("%d", num1);
else printf("%d", num1);
}
else if (num2 == num3)
{
if (num1 > num2)printf("%d", num2);
else printf("%d", num2);
}
else if (num3 == num1)
{
if (num3 > num2)printf("%d", num3);
else printf("%d", num3);
}
else if (num1 == num2 && num2 == num3)
printf("%d", num1);
}
void main()
{
int A = 0, B = 0, C = 0;
scanf("%d %d %d", &A, &B, &C);
findSec(A, B, C);
}
반례.. 2 1 3 넣으면 틀리네요.. 곧 다시 수정하겠습니다.
'C_Language > one_day-one-cording' 카테고리의 다른 글
2742번: 기찍 N (0) | 2019.12.10 |
---|---|
2741번: N 찍기 (0) | 2019.12.09 |
8393번 :합 (0) | 2019.12.09 |
10950번 A+B -3 문제! (0) | 2019.12.08 |
(2739)구구단 (0) | 2019.12.07 |