zoukankan      html  css  js  c++  java
  • 九度OJ 1101:计算表达式 (DP)

    时间限制: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
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    iOS基础
    iOS基础 ----- 内存管理
    NSAttributedString 的一些基本用法
    node安装使用
    docker常用命令
    docker lnmp
    easy-wechat
    composer
    center7系统搭建lnmp
    xammp环境配置
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083931.html
Copyright © 2011-2022 走看看