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

    Description

    读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
     

    Input

    测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
     

    Output

    对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
     

    Sample Input

    1 + 2 4 + 2 * 5 - 7 / 11 0
     

    Sample Output

    3.00 13.36
     
     
     
     
    解题思想:
      利用数组与switch语句,先读入一个数字再读入一个符号,根据读入的符号选择不同的语句,最后把所有的数累加输出。
     
     
     
    代码如下:
      

    #include <stdio.h>

    int main()

    {
        int shu,i=0,m,flag,j;
        double a[410],sum=0;
        char fh;

       // for(int j=0;j<200;j++)
       while (1)
        {
            flag=0;

             i=0;
             for(j=0;j<410;j++)
             a[i]=0;
              scanf("%lf",&a[0]);

            while (getchar()!=' ')
        {
            sum=0;
            flag=1;
            scanf("%c %d",&fh,&m);
            switch (fh)
            {
                case '+':a[++i]=m; break;
                case '-': a[++i]=-m;break;
                case '*':a[i]=a[i]*m;break;
                case '/':a[i]=a[i]/m*1.0;break;
            }

            }
            if(!flag) break;
            for( j=0;j<=i;j++)
            sum+=a[j];

            printf ("%.2lf ",sum);

        }
        return 0;

    }

  • 相关阅读:
    中缀、后缀、前缀表达式
    Salesforce图片上传
    VSCode格式化Apex代码
    Reporting Services已有帐号出现无法登录的问题
    EF-查询缓存
    visual studio 2015将已有项目添加到码云(gitee)
    asp.net页面加载两次的坑
    EF的性能瓶颈
    微信JS-SDK上传多张照片
    Python20-Day02
  • 原文地址:https://www.cnblogs.com/llfj/p/5679136.html
Copyright © 2011-2022 走看看