2017年1月1日是三首日,求下一个三首日,用c语言写出来
时间: 2023-05-29 16:04:58 浏览: 448
下一个三首日是2027年1月1日。
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int year = 2017;
while (year % 10 != 3) { // 找到一个以3结尾的年份
year++;
}
year += 10; // 下一个三首日是10年后
printf("下一个三首日是%d年1月1日\n", year);
return 0;
}
```
相关问题
题目:小明发现2017年1月1日是星期日,民间称之为“三首日”。小明想探究2017年后最近的5个出现“三首日”的年份,请用c语言编写程序实现这个想法。
#include <stdio.h>
int main() {
int year = 2017; // 从2017年开始
int count = 0; // 计数器
while (count < 5) { // 找到5个就停止
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { // 判断是否为闰年
int days[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; // 闰年的每个月天数
int total = 0; // 从1月1日到当前日期的天数总和
for (int i = 0; i < 12; i++) { // 遍历每个月
for (int j = 1; j <= days[i]; j++) { // 遍历每个月的每一天
if (i == 0 && j == 1) { // 如果是1月1日
if (total % 7 == 3) { // 判断是否为“三首日”
printf("%d年是三首日年份\n", year);
count++; // 找到一个,计数器加1
if (count == 5) { // 如果已经找到5个,退出循环
break;
}
}
}
total++; // 天数总和加1
}
if (count == 5) { // 如果已经找到5个,退出循环
break;
}
}
}
year++; // 年份加1
}
return 0;
}
阅读全文