회신: 18.10 심사문제 질문입니다.
, 도장_ 관리자님이 작성문제를 보면 테스트 입력이 있습니다.
입력즉, 프로그램을 실행했을 때 한 줄에
95 80 87 82
95 80 87 82이렇게 입력해야 합니다. 한 줄에 하나씩 입력하면 안 됩니다. 120점을 입력한 순간에 '잘못된 점수'라고 출력하지 않습니다.
이 심사문제는
1. 한 번에 성적 4개를 입력 받는다
2. 결과에 따라 '합격', '불합격', '잘못된 점수'를 출력한다.
입니다.
테스트 결과를 보면 다음과 같습니다.
결과
합격
입력된 결과를 토대로 합격, 불합격, 잘못된 점수라고 출력하면 됩니다.
문의한 코드에서 다음 부분은 심사에서 평가하는 부분이 아니므로 삭제해야 합니다. 디버깅용으로 사용 중인 코드로 보입니다.
printf("%d\n", average);
average 변수를 사용하려면 먼저 초기화해야 합니다.
int average = 0;
처럼 선언과 초기화를 동시에 해야 합니다.
if (average >= 85)
{
average = (korean + english + mathematics + science) / 4;
printf("합격");
}
if 문 안에서 average 변수를 계산하고 있는데, 이미 if문에서 average 변수를 사용하고 있습니다. average 계산은 if문 밖에서 먼저 실행되어야 합니다.
코드가 잘 안 될 때는 먼저 처리 순서를 종이에 메모해서 정리하는 게 좋습니다.
또한, 코드가 꼬여서 문제가 잘 보이지 않을 때는 프로젝트를 새로 만들어서 처음부터 코드를 작성하는 방법도 좋습니다. 뒤엎기라고 부르는데, 프로그래머들도 종종 쓰는 방법입니다.
ps. 포럼에서 18.10으로 검색하면 이전에 문의된 Q&A를 볼 수 있습니다.