Sub main() ''''필수변수선언 Dim 인수1, 인수2, 버퍼, i As Variant
''''핵심변수선언 Dim 출발지코드, 승객만족도, 월이용횟수, 여행거리, 고객번호(1000), 합계(1000), j, Num, Temp As Variant
''''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
''''입력파일처리 Open "c:\c_it\data\abc1112.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''''변수저장 출발지코드 = Trim(Mid(버퍼, 20, 2)) 승객만족도 = Val(Mid(버퍼, 16, 2)) 월이용횟수 = Val(Mid(버퍼, 32, 2)) 여행거리 = Val(Mid(버퍼, 27, 5)) ''''배열변수구하기 If 출발지코드 = "SU" And 승객만족도 <= 23 Then Num = Num + 1 합계(Num) = 월이용횟수 * 여행거리 고객번호(Num) = Val(Mid(버퍼, 1, 5)) End If End If Next i ''''정렬(합계내림 or (합계동일값 고객번호 오름)) For i = 1 To Num For j = i To Num If 합계(i) < 합계(j) Or _ (합계(i) = 합계(j) And 고객번호(i) > 고객번호(j)) Then End If Temp = 합계(i) 합계(i) = 합계(j) 합계(j) = Temp Temp = 고객번호(i) 고객번호(i) = 고객번호(j) 고객번호(j) = Temp Next j Next i
Close #1 ''''출력파일처리
Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 고객번호(5) Close #2
End Sub
(인수값은 100 200 넣었구요...
다른 분들도 이문제로 이의를 많이 제기하더라구요..
어떤분은 월이용횟수에서 2바이트가 아니라 3바이트를 넣어라고 하던데..
그렇게도 해봤는데 전 그대로 40170 만 나오더라구요..
모범답안에는 40106 이 정답이구요..
아무튼..소스에 문제가 있는지...제발 답변부탁드려요~~)
|