C언어 배열 정렬 - ceon-eo baeyeol jeonglyeol

오름차순이 적용된 정수 예제1
오름차순이 적용된 정수 예제2

제: 정수를 5개를 배열에 입력받고 오름차순으로 정렬하는 프로그램을 만들어라

답안: 

/*숫자 5개를 배열에 입력받아서 오름차순으로 정렬하는 알고리즘*/ #include <stdio.h> int main(void) { int i; int j; int temp; //값을 임시적으로 저장할 변수 int num[5] = { 0 }; printf("값을 5개 입력해주세요:"); for (i = 0; i < 5; i++) { scanf_s("%d", &num[i]); } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (num[i] < num[j]) { //이부분이 상당히 중요한 부분입니다 temp = num[i]; num[i] = num[j]; num[j] = temp; } } } printf("정렬 결과는: "); for (i = 0; i < 5; i++) { printf("%d ", num[i]); } return 0; }

문제: 정수를 5개를 배열에 입력받고 내림차순으로 정렬하는 프로그램을 만들어라

답안: 

내림차순이 적용된 정수 예제1
내림차순이 적용된 정수 예제2/*숫자 5개를 배열에 입력받아서 내림차순으로 정렬하는 알고리즘*/ #include <stdio.h> int main(void) { int i; int j; int temp; //값을 임시적으로 저장할 변수 int num[5] = { 0 }; printf("값을 5개 입력해주세요:"); for (i = 0; i < 5; i++) { scanf_s("%d", &num[i]); } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (num[i] > num[j]) { temp = num[i]; num[i] = num[j]; num[j] = temp; } } } printf("정렬 결과는: "); for (i = 0; i < 5; i++) { printf("%d ", num[i]); } return 0; }

다들 어디가 가장 중요한지 느끼셨나요??

바로 "IF절" 안이 가장 중요한데요

나머지 내용은 다 똑같아도 <이면 오름차순이 되고 >이면 내림차순이 된답니다

C언어에 더 알고 싶다면?

👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?

👉C언어 알고리즘/순서도/프로그래밍 개념/디버깅이란?

👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)

👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘

👉C언어로 구사하는 알고리즘 3. 성적 석차 구하기 알고리즘 구현하기

👉C언어로 구사하는 알고리즘 4. 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)

--*Program --/C언어

2011. 9. 21. 11:53


 

#include<stdio.h>

void main()

{

    int num[10]; //입력받을 숫자들을 넣을 배열

    int temp;    //임의로 MAX값 넣을 공간

    int i,j,k;      //FOR문 증가값

    // 10개의 정수를 돌아가면서 num[]에 넣는다            

    for(i = 0; i<10; i++)

    {

        printf("%d 번째 값을 입력하세요: ",i+1); 

        scanf("%d", &num[i]); //입력 받아서 num[i]에 넣는다

        printf("\n");

    }

    for(j=0;j<10;j++)

    {

        for(k=0;k<9;k++)

        {

            if(num[k] > num[k+1]) //연달아있는 두수중 앞에 있는수가 크다면

            {
                //위치 변경

                temp = num[k];   
                num[k]=num[k+1];

                num[k+1] = temp;

            }//if

        }//for(k)

     }//for(j)

     //결과 출력
     
printf(
"
: ");

     for (i = 0 ; i<10;i++)

     {

         if(i == 0)      // 첫번째 num[0]번째를 출력할때는 앞에 콤마(,)를 붙이지 않는다.

         {

             printf("%d",num[i]);

         }

         elseif(i == 9) // 마지막 num[9]를 출력할때는 맨뒤에 \n를 해준다.

         {

             printf(", %d \n", num[i]);

         }

         else

             printf(", %d", num[i]);

         }
}

Toplist

최신 우편물

태그