zoukankan      html  css  js  c++  java
  • HDU 1237 简单计算器

    题目代号:HDU 1237

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1237

    题目原文:

    简单计算器

    Problem Description
    读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
     
    Input
    测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
     
    Output
    对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
     
    Sample Input
    1 + 2
    4 + 2 * 5 - 7 / 11 0
     
    Sample Output
    3.00
    13.36
     
    代码:
    # include <stdio.h>
    # include <string.h>
    # include <stdlib.h>
    # include <iostream>
    # include <fstream>
    # include <vector>
    # include <queue>
    # include <stack>
    # include <map>
    # include <math.h>
    # include <algorithm>
    using namespace std;
    # define pi acos(-1.0)
    # define mem(a,b) memset(a,b,sizeof(a))
    # define FOR(i,a,n) for(int i=a; i<=n; ++i)
    # define For(i,n,a) for(int i=n; i>=a; --i)
    # define FO(i,a,n) for(int i=a; i<n; ++i)
    # define Fo(i,n,a) for(int i=n; i>a ;--i)
    typedef long long LL;
    typedef unsigned long long ULL;
    
    int main()
    {
        double num[205],n;
        char f;
        while(cin>>n)
        {
            mem(num,0);
            int sum=0;
            num[0]=n;
            if(getchar()=='\n'&&n==0)break;//cin忽略输入数据之前空格,但是后面的空格使用getchar忽略,同时可以判断是否换行结束
            while(1)
            {
                cin>>f>>n;
                if(f=='*')num[sum]*=n;
                else if(f=='/')num[sum]/=n;
                else if(f=='+')num[++sum]=n;
                else num[++sum]=-n;
                if(getchar()=='\n')break;
            }
            n=0;
            for(int i=0;i<=sum;i++)
                n+=num[i];
            printf("%.2lf\n",n);
        }
        return 0;
    }

      

  • 相关阅读:
    ARC109 题解&总结 ABCDEF
    List、Set、Map的学习
    数据结构和算法-栈
    spring-常见知识点(一)
    spring-AOP实现原理(二)
    spring-AOP实现原理(一)
    MVCC详解
    MVCC能否解决幻读
    ArrayList和LinkedList的区别
    架构设计-秒杀架构设计
  • 原文地址:https://www.cnblogs.com/teble/p/7193618.html
Copyright © 2011-2022 走看看