고급 계산기에 입력 할 문자열을 평가하는 프로그램을 작성해야합니다.
프로그램은 stdin을 사용하여 입력을 승인하고 정답을 출력해야합니다. 어떤 기능을 표준 입력 받아 들여야 않는 언어의 경우, 기능을 가정 할 수 readLine및 print이러한 작업을 처리 할 수 있습니다.
요구 사항 :
- "eval"함수를 사용하지 않습니다
- 부동 소수점 및 음수 처리 가능
- 최소한 +,-, *, / 및 ^ 연산자 지원
- 일반 주문을 재정의하기 위해 괄호와 괄호를 지원합니다
- 연산자와 숫자 사이에 하나 이상의 공백이 포함 된 입력을 처리 할 수 있습니다.
- 표준 작업 순서를 사용하여 입력을 평가합니다
테스트 사례
입력
10 - 3 + 2
산출
9
입력
8 + 6 / 3 - 7 + -5 / 2.5
산출
1
입력
4 + [ ( -3 + 5 ) * 3.5 ] ^ 2 - 12
산출
41
결과는 끝에 후행이있을 수 있습니다
—
케빈 브라운
.0. 나는 정밀도에 대해 확신이 없지만 더 많을수록 좋습니다.
스택 오버플로 버전은 수학 식 평가 기 (전체 PEMDAS) 였습니다. 그 하나에 대한 많은 대답이 줄을 세고 있지만 (?!?). 아직도 c에는 몇 가지 간단한 답변이 있습니다.
—
dmckee
PN / RPN 계산기에 대한 보너스?
—
Mateen Ulhaq
.0가 정수인 경우 끝에 후행이 있으면 괜찮 습니까? 또한 : 부동 소수점 정밀도와 관련하여 계산기의 정확도는 어느 정도입니까?