2401_84401465 2024-04-16 11:23 采纳率: 71.4%
浏览 5
已结题

问题没看明白标题五个字

本人大一初学者,目前学完了判断和循环,但是我压根看不明白题目要用什么来做啊。

img

img

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2024-04-16 11:46
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    问题:如何用形式操作数运值箱操作数的表达式对两个整数进行乘、除或求余运算?

    1. 首先理解题目中的术语:
    • 形式操作数:指的是在表达式中出现的运算符(如乘号、除号、求余符号等)。
    • 值操作数:指的是表达式中参与运算的两个整数。
    1. 在题目示例中看到了这样一句话:2138 21hod8=5。根据这句话可以推断出:
    • 输入格式为:x op y
    • 输出格式为:x op y = result
    1. 根据乘、除、求余三种运算的计算方法,可以写出以下伪代码:
    • 如果形式操作数为乘号:result = x * y
    • 如果形式操作数为除号:result = x / y(注意:如果除数为0,则会产生错误)
    • 如果形式操作数为求余符号:result = x % y(表示x除以y的余数)
    1. 根据以上思路,可以改写给出的错误程序。修改后的代码如下:

    #include <stdio.h> int main(void) { char sign; // 形式操作数 int x, y, result; printf("Input x op y: "); scanf("%d %c %d", &x, &sign, &y); if (sign == '*') { result = x * y; printf("%d * %d = %d\n", x, y, result); } else if (sign == '/') { if (y == 0) { printf("Error: Divided by zero!\n"); } else { result = x / y; printf("%d / %d = %d\n", x, y, result); } } else if (sign == '%') { if (y == 0) { printf("Error: Divided by zero!\n"); } else { result = x % y; printf("%d %% %d = %d\n", x, y, result); } } else { printf("Error: Invalid operator!\n"); } return 0; }

    1. 运行程序,输入样例数据,得到输出结果为“2138 % 21 = 2”,与题目中给出的答案“2138 21hod8=5”不同,但是符合算术运算的规则。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月16日