게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
(C언어)오늘 시험 봤는데요 진짜 멍청멍청하게 틀린거 같아요.ㅜㅜ
게시물ID : programmer_9477짧은주소 복사하기
작성자 : CPL
추천 : 0
조회수 : 775회
댓글수 : 11개
등록시간 : 2015/04/21 19:46:07
옵션
  • 본인삭제금지
if-else if 문을 switch 문으로 바꾸시오. 라는 문제인데, 조건이, case를 100개 쓰면 안된다는거였어요. (stack case 금지)

대략
int score;
if (score>=90)
printf("A");
else if(score>=80)
printf("B");
.
.
.
else
printf("F");

이런거였는데요,


         int score;
        printf("Enter Score: ");
        scanf("%d", &score);
       score = score / 10;
        switch( score){
            case 10 :
            case 9 : printf("A"); break;
            case 8 : 
printf("B"); break;
            case 7 : 
printf("C"); break;
            case 6 : 
printf("D"); break;
            default : 
printf("F"); break;
        }


이게 정답이었는데...

짱구를 굴리다 굴리다가 저는 이렇게 썼어요.

#include <stdio.h>

int main(void)
{
int score; 
printf("점수를 입력하시오");
scanf("%d",&score);
switch(score>=90)
{case 1:
printf("A");
break;
case 0:
switch(score>=80)
{case 1:
printf("B");
break;
case 0:
switch(score>=70)
{
case 1:
printf("C");
break;
case 0:
switch(score>=60)
{
case 1:
printf("D");
break;
case 0:
printf("F");
break;
}
}
}
}
return 0;
}

딱 시험지 제출 하고 밖에 나오니깐 정답이 생각나더라구요 ㅜㅜ

집에 와서 컴파일 해보니까 에러도 안 뜨고 실행도 잘 되는데 ... 
switch구문을 중첩해서 쓰는것은 잘못된 것일까요?
최적의 코드를 짜라는 말이 없었으니까... 이것도 맞으면 좋겠어요 ㅜㅜㅜㅜㅜ

진짜 엄청 열심히 공부했는데 너무 허무해요 ㅜㅜㅜㅜㅜㅜ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호