「已注销」 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 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题