通过c语言编写代码求1901年1月 1日到2024年12月31日一共有多少个一好日,一好日是指日期以一结尾且是星期一,1901年1月1日是星期二
时间: 2024-12-18 17:18:58 浏览: 10
为了计算从1901年1月1日到2024年12月31日之间的一好日总数,我们可以采用编程的方式来解决这个问题。这里我们假设闰年的规则是每四年一次,除非那年能被100整除,但是如果是世纪年份(即百年),它必须能够被400整除才是闰年。
首先,我们需要创建一个函数来判断给定日期是否是星期一并且日期以数字1结尾。然后遍历这个期间的所有日期,累加星期一是“一好日”的日子数。
以下是简单的C语言代码实现:
```c
#include <stdio.h>
#include <time.h>
int isGoodDay(int year, int month, int day) {
struct tm date = {0};
date.tm_year = year - 1900;
date.tm_mon = month - 1;
date.tm_mday = day;
if (date.tm_wday == 1 && day % 10 == 1) { // 判断是否是星期一且日期以1结尾
return 1;
} else {
return 0;
}
}
int main() {
int startYear = 1901, endYear = 2024, goodDays = 0;
for (int year = startYear; year <= endYear; year++) {
for (int month = 1; month <= 12; month++) {
for (int day = 1; day <= 31; day++) {
goodDays += isGoodDay(year, month, day);
}
}
}
printf("从1901年1月1日到2024年12月31日总共有%d个一好日。\n", goodDays);
return 0;
}
```
运行此程序后,你将得到一好日的总数。注意,这个代码并不包含闰年的复杂检查,如果需要精确到所有闰年的情况,还需要添加闰年判定条件。
阅读全文