프로그래밍

 3198, 1/160 회원가입  로그인  
   우느님
   [re] C언어, 숫자가 큰 순서대로 나열하는 프로그램 코드 (좀봐주셔요)

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


/////////////////////////////////////////////////////////////////////////////////////////////////////////

/*

저는 이렇게 짰어요~

도움이 되셨으면 좋겟습니다.

*/

/////////////////////////////////////////////////////////////////////////////////////////////////////////


#include <stdio.h>

void main()
{
        int val[10];        //입력받은 정수 10개를 저장할 배열
        int temp;        //큰 순서대로 나열할때 사용할 임시저장용 변수
        int i, j;        //반복제어변수
        int max;        //최대값을 저장할 변수


        
        printf("정수 10개를 입력해주세여\n");
        
        for(i=0;i<10;i++){
                scanf("%d",&val[i]);
        }
        //입력받은 10개의 정수를 저장

        
        
        //음 이제 최대값을 구해볼까여?

        max = val[0];           //일단 최대값이 먼지모르니까 val[0]에 저장된 값을 최대값이라고 가정

        for(i=1;i<10;i++){
               if(max<val[i])
               {
                       max = val[i];
               }
        }
        //val[1]부터 val[9]까지 대소비교를 통해 가정해놓은 max값보다 크면 max변수에 저장


        //최대값을 구했으니 큰 순서대로 나열해 보아여~
        
        for(i=0;i<10;i++){        //일단 10번 반복 시킵시다 !! (숫자가 10개니깐여ㅎ)
             for(j=0;j<9;j++){        
                  if(val[j] < val[j+1]){   //val[0] 부터 val[10]까지 2개씩 비교해서 앞에놈이 뒤에놈보다 작으면
                          temp = val[j];
                          val[j] = val[j+1];
                          val[j+1] = temp;  //뒤에놈을 앞에다가 저장하고 앞에놈을 뒤에다가 저장시키면 될 듯
                  }
             }
        }
        
        //이렇게 하면 배열 val[0],val[1],,,,,~~~ val[10]에  큰 순서대로 값이 저장되겠져
        
        //어라 ㅋㅋ 근데 이러케 하고보니 max값을 구할필요가 없었네요 ㅜㅜㅋ
        //최대값은 저절로 val[0]이 되는군뇨ㅎ
                                
        //뭐 암튼 이제 큰 순서대로 출력하면 될 듯
        
        printf("최대값은 %d 입니다.\n",max);
        printf("순서대로 출력하면 ....\n");
        
        for(i=0;i<10;i++){
                printf("%d  ",val[i]);
        }
}

  Hit : 30772     Date : 2012/02/15 02:06