4개의 댓글이 있습니다.
-
-
wondaebal -
답변감사합니다!
말씀해주신대로 Calculation()함수를 아래와 같이 수정하였습니다.void Calculation(char* resultString, int fin, int sin, char* oper) { int after=0; switch(*oper) { case '*' : after = fin * sin; break; case '+': after = fin + sin; break; case '-': after = fin - sin; break; default : flag = false; break; } if( after < 0 || after > 10 ) flag = false; else flag = true; if( after == 0 ) strcpy(resultString, "zero"); else if( after == 1 ) strcpy(resultString, "one"); else if( after == 2 ) strcpy(resultString, "two"); else if( after == 3 ) strcpy(resultString, "three"); else if( after == 4 ) strcpy(resultString, "four"); else if( after == 5 ) strcpy(resultString, "five"); else if( after == 6 ) strcpy(resultString, "six"); else if( after == 7 ) strcpy(resultString, "seven"); else if( after == 8 ) strcpy(resultString, "eight"); else if( after == 9 ) strcpy(resultString, "nine"); else if( after == 10 ) strcpy(resultString, "ten"); else flag = false; }
그 결과 테이스케이스는 통과하지만 여전히 오답이라고 나옵니다.
string의 길이를 먼저 비교하고 길이가 같다면 문자열을 정렬 시켜서 strcmp를 하는 방식으로 하였는데, 혹시 제 방법이 틀린 것 인가요?
10년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
wondaebal
안녕하세요.
알고스팟에 튜토리얼 시작한지 얼마안 된 유저입니다.
테스트 케이스와 댓글에 있던 케이스도 모두 해보니 제대로 나오는 것 같은데
제출을 하면 오답으로 나와서 질문드립니다.
연산의 결과가 0보다 작거나 10보다 클 경우에도 잘 걸러지는 것 같은데
어떤 케이스에서 문제가 발생하는 알려주시면 감사하겠습니다!
10년 전