| | | 제 목 | 확인좀 해주세요. | | | 글쓴이 | 이정숙 | 작성일 | 2005-08-05 | 조회수 | 1137 | | | 글공유 | |
| | | 안녕하세요? 정말 더운 날씨입니다. 휴가는 다녀오셨는지요.
문제011 번 호텔 숙박요금관리에서 1번문제가 아무리 살펴봐도 어디가 틀렸는지 모르겠네요. 2~4번은 수검관리에서 점수가 다 나오는데 1번만 0점 처리되네요.
(숙박요금-할인금액)에 따라 오름차순정렬 하였을때 3번째 자료의 누적점수를 출력하시요. 단, 동일값 발생시 예약번호로 내림차순정렬하여 처리하시요
Sub Main() ''''필수변수선언 Dim 인수1, 인수2, i, 버퍼 As Variant ''핵심변수선언 Dim 숙박요금, 할인금액, 누적점수, 예약번호(1000), 합계(1000), j, temp, num As Variant ''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력파일처리 Open "c:\c_it\data\abc0011.txt" For Input As #1 For i = 1 To 인수2 Line Input #1, 버퍼 If i >= 인수1 Then ''변수저장 숙박요금 = Val(Mid(버퍼, 19, 6)) 할인금액 = Val(Mid(버퍼, 30, 4)) 누적점수 = Val(Mid(버퍼, 40, 5)) ''합계구하기 num = num + 1 합계(num) = 숙박요금 - 할인금액 예약번호(num) = Val(Mid(버퍼, 1, 6)) End If ''정렬(합계 오름차순 or (합계같음 and 예약번호 내림차순)) For i = 1 To num For j = i To num If 합계(i) > 합계(j) Or _ (합계(i) = 합계(j) And 예약번호(i) < 예약번호(j)) Then temp = 합계(i) 합계(i) = 합계(j) 합계(j) = temp temp = 예약번호(i) 예약번호(i) = 예약번호(j) 예약번호(j) = temp End If Next j Next i Close #1 ''출력파일처리 Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 합계(3) Close #2 End Sub
| |
|
|