用C语言表示小明爸爸今年46岁,小明想知道爸爸刚过的闰年是哪一年?用 do-while
时间: 2024-11-22 12:34:20 浏览: 30
在C语言中,你可以使用do-while循环来解决这个问题,因为我们需要不断减去小明爸爸的年龄直到找到一个闰年。首先确定闰年的条件:能被4整除的年份通常是闰年,但是世纪年(即百年)需要同时能被400整除才是闰年。
下面是一个示例程序:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) { // 检查是否世纪年
return year % 400 == 0;
} else {
return true; // 非世纪年肯定是闰年
}
} else {
return false;
}
}
int main() {
int dad_age = 46;
int current_year = 2023; // 假设当前年份
int last_leap_year = current_year;
do {
last_leap_year--;
} while (!is_leap_year(last_leap_year));
printf("小明爸爸刚过的闰年是:%d年.\n", last_leap_year);
return 0;
}
```
此程序会从当前年份开始倒推,直到找到一个小明爸爸生日那年的前一个闰年为止。
阅读全文