17년도 기출입니다.
13번 문제 답이 2번이라고 되어있는데요...
아무리 생각해도 1번이라서요,,
음 다 찾아봤는데 답안 수정 이런 안내가 없어서...
만약 답이 2번이라면 풀이과정 아시는분 부탁드립니다.
#17년도 #기출 #수학
첨부 '2' |
|
---|
Prev이전 문서
Next다음 문서
17년도 기출입니다.
13번 문제 답이 2번이라고 되어있는데요...
아무리 생각해도 1번이라서요,,
음 다 찾아봤는데 답안 수정 이런 안내가 없어서...
만약 답이 2번이라면 풀이과정 아시는분 부탁드립니다.
#17년도 #기출 #수학
번호 | 분류 | 제목 | 글쓴이 | 조회 수 | 날짜 |
---|---|---|---|---|---|
공지 | (필독) 공지 모음 / 코인(포인트) 얻는 방법 및 입문서 417 | 게시판관리 | 7968 | 2022.12.24 | |
공지 | 커뮤니티를 홍보하고 포인트를 적립해보세요 73 | 게시판관리 | 3522 | 2023.09.20 | |
공지 | 🎖 활동 메달 안내 및 기준 7 | 게시판관리 | 258 | 2025.07.30 | |
» | 질문 |
c프로그래밍 기출 17년도 질문
6 ![]() |
asdsa | 530 | 2024.06.04 |
n이 11이므로
switch문에서 n%5의 값이 1이죠.
그러면 case 0: 에서 조건에 안맞으니 다음 조건으로 넘어갑니다.
그리고 case 1: 에서 조건에 맞으니 printf문 출력하니 "나머지는 1"이 출력됩니다.
그리고 다음 문장을 수행합니다.
case 2:로 가는 것이 아니고 printf("나머지는 2").
그러면 다시 print문 수행하겠죠? "나머지는 2"이 출력됩니다.
참고할 것이 switch-case와 if-else if-else는 다르게 동작합니다.
swich문은 break문을 나올때까지 계속 수행합니다.
즉, break문 만나서 switch문 벗어나면서 프로그램이 종료합니다.
즉 화면에 "나머지는 1 나머지는 2" 이렇게 출력되는거죠.
근데 제가 보기에 답은 없습니다.
정확한 답은 "나머지는 1나머지는 2" 이렇게 출력되는거죠.
왜냐하면, 1 다음에 공백이 출력이 안되죠.
어찌보면 문제를 수정하셔야 할 듯해요. case문 안에 printf문에서 맨 끝에 공백을 넣어줘야 ㅎㅎ
실제 코딩해서 돌려보세요.
일반적으로 swich case의 경우 break문 써줘야 생각하는 결과(보기 1)를 얻는거죠.
즉 위 코드는 잘못 코딩된 예입니다.
아래와 같이 break문을 다 써줘야 해요.
그러면 원하시는 것처럼 보기1의 결과가 나옵니다.
case 0: print("나머지는 0"); break;
case 1: print("나머지는 1"); break;
case 2: print("나머지는 2"); break;
default: ......
만약 원래 문제의 코드에서 n=10으로 하고 실행한다면, 결과가 어떻게 나올까요?
궁금하시면 직접 코딩해서 결과를 확인해보시는 것도 방법입니다.