程序(负整数的除法和取余):
#include <iostream> // 引入输入输出流库
using namespace std; // 使用标准命名空间
int main() { // 主函数入口
int a = -7; // 定义一个整数变量 a 并赋值为 -7
int b = 3; // 定义一个整数变量 b 并赋值为 3
// 输出 a 除以 b 和 a 对 b 取余的结果
cout << a / b << " " << a % b << endl;
}
程序流程:
定义变量:
a被赋值为 -7。b被赋值为 3。
执行除法运算(
a / b):a / b是整数除法,它计算a除以b的商。- 在 C++ 中,整数除法会向零舍入。因为 -7 除以 3 等于 -2.333,整数除法会舍去小数部分,因此结果是
-2。
执行取余运算(
a % b):a % b是取余运算,计算a除以b的余数。- 通过公式
a - (a / b) * b计算余数。 -7 % 3=-7 - (-2 * 3)=-7 - (-6)=-7 + 6=-1。- 所以余数是
-1。
输出:
程序输出了两个值:
-2 -1
- 第一个值
-2是a / b的结果。 - 第二个值
-1是a % b的结果。
总结:
这个程序展示了 C++ 中整数除法和取余操作的行为,特别是如何处理负数。在 C++ 中,负数除法和取余时的商和余数的符号是有规律的,需要特别注意。

![P8700 [蓝桥杯 2019 国 B] 解谜游戏 题解](https://gesp-img.oss-accelerate.aliyuncs.com/uploads/202410/19/98e734ec9bc1a339.png)

