중급 4월 30일 오후 기출문제에서 도저히 잘못된 부분을 못 찾겠어요,, 답이 미묘하게 차이가 있어요.ㅋ 정렬부분에서 잘못된 거 같은데,, 딱 못찾겠네요. ㅡㅡa 좀 찾아주세용.. 부탁드립니다~~
................................................................................................... Option Explicit
Sub main()
''필수 변수 선언 Dim 인수1, 인수2, 버퍼, k As Variant
''핵심 변수 선언 Dim 담임코드, 영어점수, 수학점수, 합계(1000), temp, p, num, 학번(1000) As Variant
''인수 처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
''입력 파일 처리 Open "c:\c_it\data\abc1115.txt" For Input As #1 For k = 1 To 인수2 Line Input #1, 버퍼 If k >= 인수1 Then ''변수 저장 담임코드 = Trim(Mid(버퍼, 29, 1)) 영어점수 = Val(Mid(버퍼, 14, 3)) 수학점수 = Val(Mid(버퍼, 17, 3)) ''합계처리 If 담임코드 = "A" Or 담임코드 = "C" Then num = num + 1 합계(num) = 영어점수 + 수학점수 학번(num) = Val(Mid(버퍼, 1, 6)) End If End If Next k ''정렬 For k = 1 To num For p = k To num If 합계(k) < 합계(p) Or (합계(k) = 합계(p) And 학번(k) > 학번(p)) Then temp = 합계(k) 합계(k) = 합계(p) 합계(p) = temp temp = 학번(k) 학번(k) = 학번(p) 합계(p) = temp End If Next p Next k Close #1 ''정렬 ''출력 파일 처리 Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 학번(5) Close #2 End Sub |