鱼C论坛

 找回密码
 立即注册
查看: 1116|回复: 2

[已解决]C的困难

[复制链接]
发表于 2023-9-28 12:25:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
表达式求值。

注意:输入输出中的空格
输入格式:
只有一行,依次为整数a、操作符op、和整数b,a、op、b中间有一个空格分隔。其中-10000<a,b<10000,操作符op为“+”、“-”、“*”、“/”、和“%”之一。。

输出格式:
只有一行,为a、b两个数通过op的计算结果。比如,输入为“1 + 2”,则计算1和2的和并输出“1 + 2 = 3”。
注意:当操作符op为“/”或“%”,且b为0时,算式无效,此时,程序输出一个单词:Invalid。

我不会搞那个操作符的输入和正确输出
最佳答案
2023-9-28 12:26:16
问题求助

根据你的描述,你需要编写一个程序来计算两个整数之间的表达式结果,并在输出中显示操作符和等号。

以下是一个示例的代码,用于解析输入并计算表达式结果:
++#include <stdio.h>int main() {    int a, b;    char op;    scanf("%d %c %d", &a, &op, &b);    switch (op) {        case '+':            printf("%d + %d = %d\n", a, b, a + b);            break;        case '-':            printf("%d - %d = %d\n", a, b, a - b);            break;        case '*':            printf("%d * %d = %d\n", a, b, a * b);            break;        case '/':            if (b == 0) {                printf("Invalid\n");            } else {                printf("%d / %d = %d\n", a, b, a / b);            }            break;        case '%':            if (b == 0) {                printf("Invalid\n");            } else {                printf("%d %% %d = %d\n", a, b, a % b);            }            break;        default:            printf("Invalid operator\n");    }    return 0;}
这段代码首先使用 scanf 函数按照格式读取输入的整数和操作符。然后,使用 switch 语句根据操作符执行相应的计算操作,并输出结果。对于除法和取模操作,我们需要检查除数是否为零,如果是零则输出 "Invalid"。

希望这个回答对你有帮助!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-28 12:25:27 | 显示全部楼层
题目描述:实现一个表达式求值程序,输入为两个整数和一个操作符,输出为两个整数通过该操作符计算的结果。

输入格式:输入只有一行,依次为整数a、操作符op、和整数b,a、op、b中间有一个空格分隔。

输出格式:只有一行,为a、b两个数通过op的计算结果。比如,输入为“1 + 2”,则计算1和2的和并输出“1 + 2 = 3”。如果操作符op为“/”或“%”,且b为0时,算式无效,此时,程序输出一个单词:Invalid。

思路:根据输入的操作符op,对a和b进行相应的计算,然后输出结果。

代码实现:
#include <stdio.h>

int main()
{
    int a, b;
    char op;
    scanf("%d %c %d", &a, &op, &b);  // 输入a、op、b
    if (op == '+')  // 加法
        printf("%d + %d = %d", a, b, a + b);
    else if (op == '-')  // 减法
        printf("%d - %d = %d", a, b, a - b);
    else if (op == '*')  // 乘法
        printf("%d * %d = %d", a, b, a * b);
    else if (op == '/')  // 除法
    {
        if (b == 0)  // 如果除数为0,输出Invalid
            printf("Invalid");
        else
            printf("%d / %d = %d", a, b, a / b);
    }
    else if (op == '%')  // 取模
    {
        if (b == 0)  // 如果除数为0,输出Invalid
            printf("Invalid");
        else
            printf("%d %% %d = %d", a, b, a % b);
    }
    return 0;
}

注意事项:

1. 在输入时,需要加上空格,例如:1 + 2。

2. 在输出时,需要注意除法和取模操作时除数为0的情况,需要输出Invalid。

3. 除法操作符为/,取模操作符为%。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-28 12:26:16 | 显示全部楼层    本楼为最佳答案   
问题求助

根据你的描述,你需要编写一个程序来计算两个整数之间的表达式结果,并在输出中显示操作符和等号。

以下是一个示例的代码,用于解析输入并计算表达式结果:
++#include <stdio.h>int main() {    int a, b;    char op;    scanf("%d %c %d", &a, &op, &b);    switch (op) {        case '+':            printf("%d + %d = %d\n", a, b, a + b);            break;        case '-':            printf("%d - %d = %d\n", a, b, a - b);            break;        case '*':            printf("%d * %d = %d\n", a, b, a * b);            break;        case '/':            if (b == 0) {                printf("Invalid\n");            } else {                printf("%d / %d = %d\n", a, b, a / b);            }            break;        case '%':            if (b == 0) {                printf("Invalid\n");            } else {                printf("%d %% %d = %d\n", a, b, a % b);            }            break;        default:            printf("Invalid operator\n");    }    return 0;}
这段代码首先使用 scanf 函数按照格式读取输入的整数和操作符。然后,使用 switch 语句根据操作符执行相应的计算操作,并输出结果。对于除法和取模操作,我们需要检查除数是否为零,如果是零则输出 "Invalid"。

希望这个回答对你有帮助!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表