기사 기출 5월 6일 오전 문제 중에서 1번인데요,,, 선생님 꺼랑 비교해봐도 틀린데가 없는데 답이 다르게 나오네요 ㅠ 정답은 990173인데, 제 답은 990129네요,, 어디가 틀렸는지 좀 봐주세요..
Sub main()
'' 필수 변수 선언 Dim 인수1, 인수2, K, 버퍼 As Variant
''핵심 변수 선언 Dim 통학코드, 영어점수, 수학점수, 합계(1000), P, Temp, Num, 학번(1000) As Variant
''인수 처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " ")))
''입력 파일 처리 Open "c:\c_it\data\res0105.txt" For Input As #1 For K = 1 To 인수2 Line Input #1, 버퍼 If K >= 인수1 Then '' 변수 저장 통학코드 = Trim(Mid(버퍼, 16, 1)) 영어점수 = Val(Mid(버퍼, 20.3)) 수학점수 = Val(Mid(버퍼, 23, 3)) ''합계 구하기 If 통학코드 = "A" Or 통학코드 = "B" Then Num = Num + 1 합계(Num) = 영어점수 + 수학점수 학번(Num) = Val(Mid(버퍼, 1, 6)) End If End If Next K '' 정렬(합계 내림차순 or 합계 동일 and 학번 오름차순) 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
|