用c语言中do while 判断闰年
时间: 2024-06-08 09:01:53 浏览: 121
以下是使用C语言中的do while循环判断闰年的代码:
```c
#include <stdio.h>
int main() {
int year, count = 0;
printf("请输入一个年份:");
scanf("%d", &year);
do {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
printf("%d是闰年\n", year);
count++;
}
year++;
} while (year <= 2000);
printf("1000-2000年间闰年的总个数为:%d\n", count);
return 0;
}
```
该程序首先要求用户输入一个年份,然后使用do while循环从该年份开始,一直循环到2000年。在循环中,使用if语句判断当前年份是否为闰年,如果是,则输出该年份,并将闰年计数器加1。最后输出1000-2000年间闰年的总个数。
相关问题
在c语言中分别用while语句,do-while语句以及for语句 计算并输出 1999年-2024年中间的闰年
在 C 语言中,我们可以使用 while、do-while 和 for 语句来遍历1999年至2024年之间的所有年份,并检查哪些是闰年。闰年的条件是能被4整除,但是如果是世纪年(即能被100整除),则还需要能被400整除。
以下是三种循环结构的示例:
1. 使用 while 循环:
```c
#include <stdio.h>
int main() {
int year = 1999;
while (year <= 2024) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
printf("%d is a leap year.\n", year);
}
year++;
}
return 0;
}
```
2. 使用 do-while 循环:
```c
#include <stdio.h>
int main() {
int year = 1999;
do {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
printf("%d is a leap year.\n", year);
}
year++;
} while (year <= 2024);
return 0;
}
```
3. 使用 for 循环:
```c
#include <stdio.h>
int main() {
for (int year = 1999; year <= 2024; year++) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
printf("%d is a leap year.\n", year);
}
}
return 0;
}
```
用C语言表示小明爸爸今年46岁,小明想知道爸爸刚过的闰年是哪一年?用 do-while
在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;
}
```
此程序会从当前年份开始倒推,直到找到一个小明爸爸生日那年的前一个闰年为止。
阅读全文