编程序实现:输入一个年份,求出这一年的1月1日是星期几,要求使用全中文形式(如“星期六”)输出,并限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法,并且公元1年1月1日为星期一。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。
#include<stdio.h>
int main()
{
int year;
scanf("%d",&year);
year-=1;//计算闰年时这一步很重要
int leap=year/4+year/400-year/100;
int day=leap*366+(year-leap)*365+1;
day%=7;
switch(day)
{
case 1:printf("星期一\n");
break;
case 2:printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 0:
printf("星期天\n");
break;
}
return 0;
}
注意year需要-1,因为本年不需要计算天数