'혼자 공부하는 C언어' 9강 도전실전 예제(미니정렬 프로그램) 코딩
키보드로 실수 3개를 입력한 다음 큰 숫자부터 작은 숫자로 정렬한 뒤 출력하는 프로그램을 작성합니다. 다음 코드와 출력 결과를 참고하여 line_up 함수(하얀색 바탕의 사각형 내부 루틴)를 작성하세요. line_up 함수에는 이미 정의된 swap 함수를 호출하여 구현하세요.
포인터에 대한 감이 어느 정도 잡혔으면, 아래의 문제를 보고 line_up 함수 부분만 위의 필자의 소스코드처럼 완성할 수 있다.
필자는 제어문 if를 하나 쓰고 분기별로 else if을 쓴 반면(조건 분기)에 다른 블로거는 아래와 같이 if를 연달아 써서 모든 조건을 만족하는 루틴으로 소스코드를 짰다. 문제에서 요구하는 세 실수를 큰 순서대로 정렬하려면 세 가지 조건 모두 다 만족시키는 올인원 루틴을 거쳐서 정렬된 값 세 개를 main() 함수 아래의 line_up(&max, &mid, &min) 함수 호출을 통해 반환해야 한다.
어쨌든 분기의 조건을 비교해서 swap 함수에 매개변수로 인자들을 전달하는 구조는 같다.
https://cheongung.github.io/c/8/
아니면, 아래와 같이 더 간결하게 코딩할 수 있다.
https://datamaster5184.tistory.com/9
참조)
혼공 C언어 포인터 궁금한 이야기 동영상 강좌