게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 간단한 문제 질문좀 드리겠습니다.
게시물ID : programmer_3514짧은주소 복사하기
작성자 : Yamahiko
추천 : 0
조회수 : 375회
댓글수 : 15개
등록시간 : 2014/05/26 00:52:51
옵션
  • 본인삭제금지
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;
}

이거에요.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호