3권에서 int 함수중에 기출문제 따라잡기를 풀고있는데 문제를 이해하지 했고 시험점수가 90점 이상이면 수 80점이상이면 우.... 60점 미민이면 가를 출력하시오 중에서 choose(int(d3/10)+1 을 왜 하는지 모르겠고 문제에서는 90점 이상 80점 이상 등등 이렇게 제시 되어있는데 10으로 나누면 안되지 않나요??
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록
choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.
30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로
choose(int(d3/10)+1,"F","F","F"...
로 사용하는 것이죠.
책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.
80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.
choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.
-
*2018-06-30 02:27:24
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록
choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.
30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로choose(int(d3/10)+1,"F","F","F"...
로 사용하는 것이죠.
책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.
80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.