9도 OJ 1101: 계산 표현식(DP)

1602 단어 dpC 언어OJ9도
시간 제한: 1초
메모리 제한: 32메가
특수 판제:아니오
제출: 4340
해결: 1335
제목 설명:
괄호가 없는 표현식에 대해 계산하다
입력:
여러 가지 데이터가 존재하고, 그룹마다 한 줄씩 존재하며, 표현식에 빈칸이 존재하지 않는다
출력:
결과 내보내기
샘플 입력:
6/2+3+3*4

샘플 출력:
18

출처:
2010년 상해교통대학 컴퓨터 연구 생기 시험 진제
아이디어:
동적 기획 문제는 프로그램 과정에서 두 개의 수와 중간의 조작수를 저장하면 된다.
코드:
#include<stdio.h>
 
int main(void)
{
        int a;
        char c;
        while(scanf("%d",&a) != EOF)
        {
                int e = 0,i = 0,b[100];
                b[++i] = a;
                while(scanf("%c",&c) != EOF && (c == '+' || c == '-' || c == '*' || c == '/'))
                {
                        scanf("%d",&a);
                        if(c == '+')
                                b[++i] = a;
                        if(c == '-')
                                b[++i] = -1 * a;
                        if(c == '*')
                                b[i] *= a;
                        if(c == '/')
                                b[i] /= a;
                }
                for(int j = 1; j <= i; ++j)
                        e += b[j];
                printf("%d
",e); } return 0; } /************************************************************** Problem: 1101 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb ****************************************************************/

좋은 웹페이지 즐겨찾기