문제

세 정수 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

출처

#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

+ Recent posts