在C++编程中,判断一个整数是奇数还是偶数是非常基础的操作,核心实现依赖于取模运算符%,取模运算符的作用是计算两个整数相除后得到的余数,我们可以通过余数和0的关系来区分奇偶。

C++取模运算符%的基本用法
取模运算符%是C++中的算术运算符之一,语法格式为a % b,其中a和b都是整数类型,运算结果是a除以b后得到的余数,余数的符号和被除数a的符号一致。比如5 % 2的结果是1,-5 % 2的结果是-1,2 % 5的结果是2。
需要注意的是,取模运算符的操作数必须是整数,如果使用了浮点数会直接编译报错,这一点和除法运算符/不同,除法运算符支持浮点数运算。
用取模运算符判断奇偶数的原理
整数可以分为奇数和偶数两类,偶数是能够被2整除的数,也就是除以2的余数为0;奇数是不能被2整除的数,除以2的余数为1或者-1(针对负奇数)。因此我们只需要计算目标整数对2取模的结果,判断余数是否为0即可区分奇偶。
具体代码实现
下面是判断单个整数奇偶性的基础示例代码:
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:" << endl;
cin >> num;
// 对2取模,判断余数是否为0
if (num % 2 == 0) {
cout << num << "是偶数" << endl;
} else {
cout << num << "是奇数" << endl;
}
return 0;
}
如果需要批量判断多个数的奇偶性,也可以结合循环来实现,示例代码如下:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入要判断的整数个数:" << endl;
cin >> n;
for (int i = 0; i < n; i++) {
int num;
cout << "请输入第" << i+1 << "个整数:" << endl;
cin >> num;
if (num % 2 == 0) {
cout << num << "是偶数" << endl;
} else {
cout << num << "是奇数" << endl;
}
}
return 0;
}
注意事项
- 取模运算的操作数必须是整数,如果传入浮点数会导致编译错误,比如
3.5 % 2是不合法的写法。 - 负整数的取模结果符号和被除数一致,比如-3 % 2的结果是-1,此时判断奇数时不需要额外处理,因为-1不等于0,会进入奇数的分支,结果是正确的。
- 如果输入的数不是整数类型,比如字符或者字符串,需要先做类型转换或者输入校验,避免程序运行异常。
掌握取模运算符%的用法之后,除了判断奇偶数,还可以用它实现很多其他功能,比如获取一个数的最后几位数字、判断一个数是否能被其他数整除等,是C++基础编程中非常实用的运算符。