作者 巨同升
单位 山东理工大学
编程序实现:输入一个年份,求出从公元1年1月1日到这一年的1月1日总共有多少天,限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。
输入格式:
输入一个代表年份的正整数。
输出格式:
输出总天数,最后换行。
输入样例:
2021
输出样例:
737791
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<stdio.h>
int main()
{
int year, byear, cday;
scanf("%d", &year);
year -= 1; //从公元1年1月1日开始, 年份减去1
byear = year / 4 - year / 100 + year / 400; //求出有多少闰年
cday = byear * 366 + (year - byear) * 365 + 1; //闰年乘以366,不是闰年乘以365求总天数
printf("%d\n", cday); //输出总天数
return 0;
}