sun1238799   3년 전

numberstudent을 5라고하면 5번하고 퍼센트나오고 넘어가야하는데 계속 쳐져요,,

hamoci   3년 전

31번줄을 보시면 highscore와 studentNumber 변수가 정수형인 int 자료형입니다. 그렇기 때문에 highscore / studentNumber을 했을때 1과 0의 값밖에 나오지 않게됩니다.

이를 해결하기 위해서 highscore나 studentNumber에 명시적형변환을 시켜주면 됩니다.

계산식의 어느 한쪽만 형변환을 시켜도 계산식의 자료형이 바뀌기 때문에 한쪽만 형변환을 하면 되겠습니다.

퍼센트만 나오고 안넘어가지는 이유는 입력값을 모두 복사하여 붙여넣었기 때문입니다.

scanf의 함수 특성상 \n의 입력을 받기 전까지 프로그램이 대기합니다.

5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81
9 100 99 98 97 96 95 94 93 91

이 예제값을 복사붙여넣기 하는 순간 아마 

5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81

여기까지의 결과가 출력되고 그다음에 입력상태가 됩니다. 왜냐하면 81까지 입력한 다음 \n이 입력됐기 때문입니다.

9 100 99 98 97 96 95 94 93 91

그 이후 이 줄에 대한 \n 입력이 되지 않았으니 사실 91까지 입력된 상태라고 보시면 됩니다.

이상태에서 \n 입력을 하면 마지막 결과값이 나올 것입니다.

댓글을 작성하려면 로그인해야 합니다.