- thebaleuncoding
입력된 정숫값을 오름차순으로 정렬해보자!
사용자가 공백 문자로 구분된 정숫값을 입력하면 해당 정숫값을 오름차순으로 정렬하는 프로그램을 만들고자 합니다. 이 때 사용자가 입력하는 정수의 개수는 정해지지 않았습니다. 아래와 같이 사용자가 한 번에 입력하는 정수를 어떻게 받아야 할까요?
아래의 실행 결과에서 '50 0 36 21 -3 8 4'가 사용자가 입력한 값이고 입력 후에 엔터 키를 누르면 프로그램에서 추가적인 키 입력 없이 오름차순으로 정렬하는 작업을 시작합니다. 즉, 정숫값을 하나씩 입력받으면서 계속 입력할 것인지를 묻는 방식으로 작업하면 안 됩니다.

이 경우는 scanf_s 함수에 %d 형식 지정자를 사용해서 하나씩 정숫값을 입력 받는 방법으로는 작업이 불가능합니다. 만약 입력의 마지막에 EOF에 해당하는 'Ctrl + Z' 키를 입력할 수 있다면 가능하겠으나 단순히 엔터 키 한 번만 입력하는 방식에는 %d 형식 지정자를 사용하면 안 됩니다. 위의 방법처럼 동작하려면 사용자가 정숫값을 입력하더라도 해당 값들을 문자열로 입력받고, 입력된 문자열에서 정숫값을 분리하는 방식으로 진행해야 합니다.
배열 형식으로 작업된 ParsingValue 함수를 사용해 아래와 같이 사용자가 입력한 정숫값을 num_list 배열에 저장하고 저장된 값을 순서대로 출력하는 코드를 구성했습니다.

#입력된정숫값을오름차순으로정렬해보자!에 대해 더 알아보고 싶나요?
아래 링크로 이동하세요.