22019, 1/1101 회원가입  로그인  
   lmi
   http://super-user.co.kr
   피드백을 받고자 함의 건.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=20547 [복사]


정수 3개 중 가장 큰거 혹은 가장 작은거 구하는 소스인데 제 코딩과 관련하여 피드백을 받고 싶어서 올립니다.

#include <stdio.h>
int biggest (int,int,int);
int smallest (int,int,int);
int main(void)
{
    int a,b,c,action;
    printf("┌─────────────────┐\n");
    printf("│    큰수&작은수 찾기 프로그램     │\n└─────────────────┘\n1: 큰수 찾기 2: 작은수 찾기\n선택해 주세요 : ");
    scanf("%d",&action);
    
    if(action != 1 && action != 2)
    {
    printf("ERROR!! ERROR!!\nError code:1");
        fflush(stdin);getchar();
        return 0;
    }
    
    printf("정수 3개를 입력해 주세요 (ex:1 -1 3) : ");
    scanf("%d %d %d",&a,&b,&c);
    
    if(action == 1)
              printf("가장 큰수 : %d",biggest(a,b,c));
    else
              printf("가장 작은 수 : %d",smallest(a,b,c));
    
        fflush(stdin);getchar();
        return 0;
}

int biggest (a,b,c)
{
int bigger;
if(a>=b)
bigger = a;
else
bigger = b;
if(bigger>=c)
return bigger;
else
return c;
}

int smallest (a,b,c)
{
int smaller;
if(a<=b)
smaller = a;
else
smaller = b;
if(smaller<=c)
return smaller;
else
return c;
}

  Hit : 10276     Date : 2011/04/13 12:36



    
T3ddyB34r 더 효율적이게 하는 방법
------------------------------
printf("가장 큰수 : %d",bigger(bigger(a,b) ,c));

....

int bigger(int a, int b)
{
if(a > b)
return a;
else
return b;

}

별 차이 없느 것같지만 중요하다는 것...
2011/04/13  
lmi 와 좋은 방법이군요!!!! 2011/04/13  
lmi 기존과 피교하여 컴퓨터 내부 연산과정에서 구체적으로 어떠한 점에서 효율적인지 배울수 있을까요???? 2011/04/13  
prosper 위의 구문을 좀 쭐이면 아래같겟죠?
int bigger(int a, int b) { return (a>b) ?a:b; }
2011/04/13  
.Dolphin ...... 여기 또 코드 배틀 임? 2011/04/13  
pth0107 아,, 갈길이 멀구나 2011/04/13  
T3ddyB34r 컴퓨터 내부 연산과정에서는 좋은 점을 그닥 줄 수 없는게..
프로시저 하나에 변수가 하나 더 줄어서 쪼금.. 차이 안날 만큼
메모리 효율이 좋아진다고.. 생각 되는데 (별로 내부적으로는....)

내부적 보다는 외부적으로. 코드 길이가 몇 천자 몇 만자 늘어날 수록
보고 이해하기 쉬운 코딩 습관을 기르는게 중요한데
체계적인 프로그래밍을 하기 위해서는 저렇게 하는게 좋다고 압니다.

요약 그냥 보기 편하니깤ㅋㅋ
2011/04/14