九度OnlineJudge-简单计算器(1019)代码,已AC

来源:互联网 发布:linux服务器密码修改 编辑:程序博客网 时间:2024/05/16 06:48

题目链接:http://ac.jobdu.com/problem.php?pid=1019

题目描述:
    读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
输入:
    测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
输出:
    对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
样例输入:
1 + 24 + 2 * 5 - 7 / 110
样例输出:
3.0013.36

AC代码如下:

#include<stdio.h>#include<stdlib.h>int main(void){    double a,b,sum;        char c;    //字符型变量c用来存储运算符号         while(1)    {           a=b=sum=0;             scanf("%lf",&a);                  if(a==0)           {                   break;           }           while(1)           {                 scanf("%c",&c);                if(c=='\n')                {                   break;                }                scanf("%c %lf",&c,&b);                switch(c)                {                    case '+':      // 如果是+号,则sum=sum+a;然后将b赋值于a                          {                             sum+=a;                             a=b;                             break;                                                      }                    case '-':     //如果是-号,则可用sum与a加赋值于sum,将-b赋值给a                          {                                sum+=a;                             a=-b;                             break;                         }                    case '*':        //如果是*号,则先经行乘法运算,运算结果赋值与a                          {                             a*=b;                               break;                         }                    case '/':       //如果是/号,则先经行除法运算,运算结果赋值与a                          {                             a/=b;                             break;                         }                 }                          }           printf("%.2lf\n",sum+a);               }    return 0;} 

0 0
原创粉丝点击