Sub main()
''필수 변수 선언 Dim 인수1, 인수2, K, 버퍼 As Variant ''핵심 변수 선언 Dim 영어점수, 총점(1000), P, Temp, Num 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 ''변수 저장 영어점수 = Val(Mid(버퍼, 14, 3)) If 영어점수 >= 40 Then Num = Num + 1 총점(Num) = Val(Mid(버퍼, 26, 3)) End If End If Next K ''정렬(총점 내림차순) For K = 1 To Num For P = K To Num If 총점(K) < 총점(P) Then 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 =========================================================================== Sub main() ''필수변수선언 Dim 인수1, 인수2, k, 버퍼 As Variant ''핵심변수선언 Dim 영어점수, 총점, 합계(1000), p, temp, num 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 ''변수저장 영어점수 = Val(Mid(버퍼, 14, 3)) 총점 = Val(Mid(버퍼, 26, 3)) ''합계구하기 If 영어점수 >= 40 Then num = num + 1 합계(num) = 총점 End If End If Next k ''정렬(내림차순5) For k = 1 To num For p = k To num If 합계(k) < 합계(p) Then 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 교수님이 해주신 코딩이랑 쫌 틀린데 답은 같게 나오거든요. 제가 한 코딩도 맞나요??
|