여름방학 합숙 훈련 day 6 - 데이터 구조 실험의 창고 와 대열 3: 접미사 값 구하 기

데이터 구조 실험의 창고 와 대기 열 3: 접미사 값 구하 기
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
이원 연산 자 를 기반 으로 한 접두사 표시 식 (기본 동작 수 는 모두 정수) 에 대해 대표 적 인 산술 표현 식 의 값 을 구하 십시오.
Input
산술 식 의 접미사 문자열 을 입력 하고 '\ #' 을 끝 표지 로 합 니 다.
Output
이 접미사 식 에 대응 하 는 산술 표현 식 의 값 을 구하 고 출력 하 십시오.
Sample Input
59*684/-3*+#

Sample Output
57

Hint
기본 조작 수 는 모두 정수 입 니 다!
Source
 
 
/ * 주의: 기본 조작 수 는 모두 정수 입 니 다!기본 조작 수 는 모두 정수 입 니 다!기본 조작 수 는 모두 정수 입 니 다!!(중요 한 얘 기 는 세 번!!) * /
 
#include #include
char str[1000001];
int main(void) {     int top, i, len, a[10001];
    scanf("%s", str);     len = strlen(str);     top = -1;
    memset(a, 0, sizeof(a));
    for(i = 0; i < len; i++)     {         if(str[i] >= '0' && str[i] <= '9')         {             a[++top] = str[i] - '0';         }
        else         {             if(str[i] == '*')             {                 a[top - 1] *= a[top];                 top--;             }
            else if(str[i] == '/')             {                 a[top - 1] /= a[top];                 top--;             }
            else if(str[i] == '+')             {                 a[top - 1] += a[top];                 top--;             }
            else             {                 a[top - 1] -= a[top];                 top--;             }         }     }
    //printf("%d", top);   (배열 a 최종 안에 최종 값 만 남 았 구나 ~ ~, 다른 것 은 다 써 서 값 을 구 했 으 니까 야야 ~ ~ ~ ~ 그래서 최종 top = = - 1)
    printf("%d", a[0]);
    return 0; }

좋은 웹페이지 즐겨찾기