답변드립니다.
3건의 자료가 입력된 것으로 하고 디버깅하겠습니다. 배열 JUMSU(3) 에 입력된 값은 87,70,90 으로 가정하겠습니다. 석차는 RANK(3) 에 2,3,1 값이 저장되어야 합니다.
M<10 조건문 위에 있는 석차를 구할 점수를 입력 받아 저장하는 부분은 생략합니다.
1) N=3, i=1 i<=N -> YES로 분기 RANK(1)=1, i=2 i<=N -> YES로 분기 RANK(2)=1, i=3 i<=N -> YES로 분기 RANK(3)=1, i=4 i<=N -> NO로 분기 i=1
-> 여기까지가 석차 배열을 1로 초기화 하는 부분입니다.
2) i<=N -> YES로 분기 J=1 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=2 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=3 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> YES로 분기 RANK(1)=2 J=4 J>N -> YES로 분기, i=2
3) i<=N -> YES로 분기 J=1 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> YES로 분기 RANK(2)=2 J=2 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=3 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> YES로 분기 RANK(2)=3 J=4 J>N -> YES로 분기, i=3
4) i<=N -> YES로 분기 J=1 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=2 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=3 J>N -> NO로 분기, JUMSU(i)<JUMSU(J) -> NO로 분기 J=4 J>N -> YES로 분기, i=4
5) i<=N -> NO로 분기
그 다음은 JUMSU, RANK 배열 출력값인 87,70,90 2,3,1을 출력하고 STOP 됩니다. 참고로 RANK(3)은 초기값인 1을 출력합니다. |