「已注销」 2022-01-06 19:40 采纳率: 83.3%
浏览 147
已结题

c语言swtich制作计算器,急

键盘输入三个整数和两个算术运算组成的表达式,计算结果。 运算符包括:加+,减-乘*,除/

输入格式:
三个整数,两个运算符,组成算数表达式,输入的字符之间没有空格

输出格式:
在表达式的后边输出=计算结果

输入样例:
6+311
结尾无空行
输出样例:
6+3
11=39
结尾无空行

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-01-06 20:04
    关注
    #include <stdio.h>
    
    double calculate(double a, char op, double b)
    {
        switch (op)
        {
        case '+':
            return a + b;
        case '-':
            return a - b;
        case '*':
            return a * b;
        case '/':
            return a / b;
        }
        return 0;
    }
    
    int main()
    {
        double a, b, c, r;
        char op1, op2;
        scanf("%lf%c%lf%c%lf", &a, &op1, &b, &op2, &c);
        switch (op1)
        {
        case '+':
        case '-':
            switch (op2)
            {
            case '+':
            case '-':
                r = calculate(a, op1, b);
                r = calculate(r, op2, c);
                break;
            case '*':
            case '/':
                r = calculate(b, op2, c);
                r = calculate(a, op1, r);
                break;
            }
            break;
        case '*':
        case '/':
            r = calculate(a, op1, b);
            r = calculate(r, op2, c);
            break;
        }
        printf("%lg%c%lg%c%lg=%lg", a, op1, b, op2, c, r);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月6日

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答