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구문을 중첩해서 쓰는것은 잘못된 것일까요?
최적의 코드를 짜라는 말이 없었으니까... 이것도 맞으면 좋겠어요 ㅜㅜㅜㅜㅜ
진짜 엄청 열심히 공부했는데 너무 허무해요 ㅜㅜㅜㅜㅜㅜ