给年份year,定义一个宏,以判别该年份是否闰年。c++
时间: 2024-04-10 11:26:56 浏览: 27
以下一个使用宏定义判断闰年的 C++ 代码示例:
```cpp
#include <iostream>
// 定义宏判断闰年
#define IS_LEAP_YEAR(year)year % 4 == 0 && year % != 0) || year % 400 == 0)
int main() {
int year;
std::cout << "请输入年份:";
std::cin >> year;
if (IS_LEAP_YEAR(year)) {
std::cout << year << "年是闰年。" << std::endl;
} else {
std::cout << year << "年不是闰年。" << std::endl;
}
return 0;
}
```
在上述代码中,我们定义了一个宏 `IS_LEAP_YEAR`,它使用了逻辑运算符和求余运算符来判断给定的年份是否为闰年。如果是闰年,宏返回非零值,否则返回 0。
注意:宏定义只是在预处理阶段进行简单的文本替换,因此在使用宏时要注意运算符的优先级和括号的使用,以确保得到正确的结果。
相关问题
给定年份year,判别该年份是否闰年(定义一个宏以判别该年份是否闰年)
闰年的定义是公历年份是4的倍数,且不是100的倍数,或者是400的倍数。因此,我们可以定义一个宏来判断一个给定的年份是否为闰年,如下所示:
```
#define IS_LEAP_YEAR(year) (((year) % 4 == 0 && (year) % 100 != 0) || (year) % 400 == 0)
```
该宏接受一个年份作为参数,返回一个布尔值,表示该年份是否为闰年。宏的定义中使用了逻辑运算符&&和||,以及取模运算符%。
定义一个带参数的宏,以判别某个年份是否为闰年
好的,问题已经收到。以下是回答:
可以使用以下代码定义一个带参数的宏,以判别某个年份是否为闰年:
```c
#define IS_LEAP_YEAR(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
```
使用方法:
```c
if (IS_LEAP_YEAR(2020)) {
printf("2020 is a leap year\n");
} else {
printf("2020 is not a leap year\n");
}
```
输出结果为:"2020 is a leap year"。