C语言程序编写问答题

简答题
编写程序,实现以下功能:

首先,提示用户输入一个算式(例如:3.5+4.6);
然后,判断用户输入运算符是否为加、减、乘、除之一,否则输出错误信息;
接着,判断用户输入的运算符为除号且除数为0,是则输出错误信息;
最后,计算算式的结果,将其输出,结果保留3位小数。

该回答引用GPT:

#include <stdio.h>
#include <math.h>

int main()
{
    double a, b;
    char op;
    printf("请输入一个算式(例如:3.5+4.6):");
    scanf("%lf%c%lf", &a, &op, &b);
    switch (op)
    {
    case '+':
        printf("%.3lf\n", a + b);
        break;
    case '-':
        printf("%.3lf\n", a - b);
        break;
    case '*':
        printf("%.3lf\n", a * b);
        break;
    case '/':
        if (b == 0)
            printf("除数不能为0!\n");
        else
            printf("%.3lf\n", a / b);
        break;
    default:
        printf("输入的运算符不正确!\n");
        break;
    }
    return 0;
}

如还有疑问,可留言帮助解决。

稍等,帮你写

#include <stdio.h>

int main()
{
    float num1, num2, result;
    char op;

    printf("请输入一个算式(例如:3.5+4.6):");
    scanf("%f%c%f", &num1, &op, &num2);

    if(op == '+' || op == '-' || op == '*' || op == '/')
    {
        if(op == '/' && num2 == 0)
        {
            printf("错误:除数不能为0!\n");
        }
        else
        {
            switch(op)
            {
                case '+':
                    result = num1 + num2;
                    break;
                case '-':
                    result = num1 - num2;
                    break;
                case '*':
                    result = num1 * num2;
                    break;
                case '/':
                    result = num1 / num2;
                    break;
            }

            printf("计算结果为:%.3f\n", result);
        }
    }
    else
    {
        printf("错误:无效的运算符!\n");
    }

    return 0;
}