CAFE

C 프로그래밍

정수가 입력될 때마다 배열을 오름차순으로 정렬

작성자별은빛나고|작성시간20.06.26|조회수557 목록 댓글 0
#include <stdio.h>
 
int main()
{
    int arr[10= {0, };                    // 10의 크기를 갖는 정수형 배열
                                            // 해당 배열을 0으로 초기화
    int i, j, k, num;
    
    for (i = 0; i < 10; i++) {                // 정수를 반복적으로 입력
        do {
            printf("%d 번 째 : ", i+1);
            scanf("%d"&num);
        } while (num < 1 || num > 20);        // 1~20까지
 
        for (j = 0; j < i; j++) {
            if (arr[j] == num) {            // 배열에 존재하는 숫자가 입력되면
                printf("존재하는 수\n");    // 중복되었음을 알리고
                i--;                        // 다시 입력받도록 
 
                break;
            }
            
            if (arr[j] > num) {                // 입력된 정수와 배열 안에 숫자들을 비교
                for (k = i; k >= j; k--) arr[k] = arr[k-1];    // 가장 큰 수가 뒤로가도록
                                                            // 오름차순이 되도록
                arr[j] = num;
 
                break;
            }
        }
        
        if (j == i) arr[i] = num;            // 가장 큰 수가 입력되었으면 추가 
    }
                
    for (i = 0; i < 10; i++printf("%d ", arr[i]);    // 해당 행렬이 다 채워지면 출력
                 
    printf("\n");
 
    return 0;                                        // 종료        
}
cs


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼