codevs 5438 zbd之难题(水题日常)

 时间限制: 1 s
 空间限制: 1000 KB
 题目等级 : 白银 Silver
题目描述 Description

zbd想要一个计算器,请你编一个计算器。

输入描述 Input Description

输入只有一行,是一个完整的计算表达式,表达式中无空格等分隔符。表达式中,用操作符(+、-、*、/)来分隔两个非负整数。请输出运算的结果。

输出描述 Output Description

输出也只有一行。为运算的结果。如果除法出现小数,请保两位小数输出。如出现除零错误,请输出“ERROR!”

样例输入 Sample Input

1+2

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

屠龙宝刀点击就送

#include <cstring>
#include <cstdio>
char ss,str[1001];
int a,b;
int main()
{
    scanf("%s",str);
    int l=strlen(str);
    int i=0;
    while(str[i]>='0'&&str[i]<='9')
    {
        a=a*10+(int)str[i]-48;
        i++;
    }
    ss=str[i++];
    while(str[i]>='0'&&str[i]<='9')
    {
        b=b*10+(int)str[i]-48;
        i++;
    }
    if(ss=='/'&&b==0)
    {
        printf("ERROR!");
        return 0;
    }
    switch(ss)
    {
        case '+':
        {
            printf("%d",a+b);
            break;
        }
        case '-':
        {
            printf("%d",a-b);
            break;
        }
        case '*':
        {
            printf("%d",a*b);
            break;
        }
        case '/':
        {
            if(b!=0&&a%b==0) printf("%d",a/b);
            else if(b!=0) printf("%.2lf",a*1.0/b);
            break;
        }
    }
}
我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
原文地址:https://www.cnblogs.com/ruojisun/p/6736190.html