鱼C论坛

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

[已解决]C的困难

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

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

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

x
  1. 表达式求值。

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

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


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

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

以下是一个示例的代码,用于解析输入并计算表达式结果:
  1. ++
  2. #include <stdio.h>
  3. int main() {
  4.     int a, b;
  5.     char op;
  6.     scanf("%d %c %d", &a, &op, &b);
  7.     switch (op) {
  8.         case '+':
  9.             printf("%d + %d = %d\n", a, b, a + b);
  10.             break;
  11.         case '-':
  12.             printf("%d - %d = %d\n", a, b, a - b);
  13.             break;
  14.         case '*':
  15.             printf("%d * %d = %d\n", a, b, a * b);
  16.             break;
  17.         case '/':
  18.             if (b == 0) {
  19.                 printf("Invalid\n");
  20.             } else {
  21.                 printf("%d / %d = %d\n", a, b, a / b);
  22.             }
  23.             break;
  24.         case '%':
  25.             if (b == 0) {
  26.                 printf("Invalid\n");
  27.             } else {
  28.                 printf("%d %% %d = %d\n", a, b, a % b);
  29.             }
  30.             break;
  31.         default:
  32.             printf("Invalid operator\n");
  33.     }
  34.     return 0;
  35. }
复制代码

这段代码首先使用 scanf 函数按照格式读取输入的整数和操作符。然后,使用 switch 语句根据操作符执行相应的计算操作,并输出结果。对于除法和取模操作,我们需要检查除数是否为零,如果是零则输出 "Invalid"。

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://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进行相应的计算,然后输出结果。

代码实现:

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     int a, b;
  5.     char op;
  6.     scanf("%d %c %d", &a, &op, &b);  // 输入a、op、b
  7.     if (op == '+')  // 加法
  8.         printf("%d + %d = %d", a, b, a + b);
  9.     else if (op == '-')  // 减法
  10.         printf("%d - %d = %d", a, b, a - b);
  11.     else if (op == '*')  // 乘法
  12.         printf("%d * %d = %d", a, b, a * b);
  13.     else if (op == '/')  // 除法
  14.     {
  15.         if (b == 0)  // 如果除数为0,输出Invalid
  16.             printf("Invalid");
  17.         else
  18.             printf("%d / %d = %d", a, b, a / b);
  19.     }
  20.     else if (op == '%')  // 取模
  21.     {
  22.         if (b == 0)  // 如果除数为0,输出Invalid
  23.             printf("Invalid");
  24.         else
  25.             printf("%d %% %d = %d", a, b, a % b);
  26.     }
  27.     return 0;
  28. }
复制代码


注意事项:

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

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

3. 除法操作符为/,取模操作符为%。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

以下是一个示例的代码,用于解析输入并计算表达式结果:
  1. ++
  2. #include <stdio.h>
  3. int main() {
  4.     int a, b;
  5.     char op;
  6.     scanf("%d %c %d", &a, &op, &b);
  7.     switch (op) {
  8.         case '+':
  9.             printf("%d + %d = %d\n", a, b, a + b);
  10.             break;
  11.         case '-':
  12.             printf("%d - %d = %d\n", a, b, a - b);
  13.             break;
  14.         case '*':
  15.             printf("%d * %d = %d\n", a, b, a * b);
  16.             break;
  17.         case '/':
  18.             if (b == 0) {
  19.                 printf("Invalid\n");
  20.             } else {
  21.                 printf("%d / %d = %d\n", a, b, a / b);
  22.             }
  23.             break;
  24.         case '%':
  25.             if (b == 0) {
  26.                 printf("Invalid\n");
  27.             } else {
  28.                 printf("%d %% %d = %d\n", a, b, a % b);
  29.             }
  30.             break;
  31.         default:
  32.             printf("Invalid operator\n");
  33.     }
  34.     return 0;
  35. }
复制代码

这段代码首先使用 scanf 函数按照格式读取输入的整数和操作符。然后,使用 switch 语句根据操作符执行相应的计算操作,并输出结果。对于除法和取模操作,我们需要检查除数是否为零,如果是零则输出 "Invalid"。

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 05:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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