5개의 숫자를 입력받아서 그 중 가장 큰 수와 다음으로 큰 수를 입력하시오.
라는 문제인데요.
if문을 사용해서 하는 문제인데요.
만들기는 만들었는데 이건 거의 모든 조건을 통짜로 입력해버린 거라서
소스가 굉장히 길고 쓸데없어 보여서요.
간결하게 만들 수도 있을 것 같은데 어떻게 하면 간단하게 될지 생각이 안 나네요;
간단한 힌트 정도라도 주시면 감사하겠습니다.
일단 제 소스는
#include <stdio.h>
int main(void)
{
int a, b, c, d, e, fir, sec;
scanf_s("%d %d %d %d %d", &a, &b, &c, &d, &e);
if (a > b && a > c && a > d && a > e)
{
fir = a;
if ( b > c && b > d && b > e)
sec = b;
else if ( c > b && c > d && c > e)
sec = c;
else if ( d > b && d > c && d > e)
sec = d;
else
sec = e;
}
if (b > a && b > c && b > d && b > e)
{
fir = b;
if ( a > c && a > d && a > e)
sec = a;
else if ( c > a && c > d && c > e)
sec = c;
else if ( d > a && d > c && d > e)
sec = d;
else
sec = e;
}
if (c > a && c > b && c > d && a > e)
{
fir = c;
if ( b > a && b > d && b > e)
sec = b;
else if ( a > b && a > d && a > e)
sec = c;
else if ( d > a && d > b && d > e)
sec = d;
else
sec = e;
}
if (d > a && d > b && d > c && d > e)
{
fir = d;
if ( a > b && a > c && a > e)
sec = a;
else if ( b > a && b > c && b > e)
sec = b;
else if ( c > a && c > b && c > e)
sec = c;
else
sec = e;
}
if (e > a && e > b && e > c && e > d)
{
fir = e;
if ( a > b && a > c && a > d)
sec = a;
else if ( b > a && b > c && b > d)
sec = b;
else if ( c > a && c > b && c > d)
sec = c;
else
sec = d;
}
printf("%d %d", fir, sec);
return 0;
}
이거에요.