#2
Pa4072023-09-30 10:41
|
# include <stdio.h>
// 公历也叫儒略历,格里高利历。1582年10月15日以前是400年置100闰,之后是400年置97闰。
//本程序以1583年1月1日为起点设计。 输入年份,输出该年的星期历。
int hnl(int year,int j){
int x;
x=year;
int a[12];
int i;int k;int l;
a[1]=28;a[0]=31;a[2]=31;
a[3]=30; a[4]=31;
a[5]=30; a[6]=31;
a[7]=31; a[8]=30;
a[9]=31; a[10]=30;a[11]=31;
if ((x%100!=0)&&(x%4==0)||(x%400==0) ) {
a[1]=29;
}
printf("\n");
printf("%d年sun mon tue wed thu fri sta ",x);
printf("\n");
for (i=0;i<12;i++){
printf("%2d月|",i+1);
l=j*4;
for(;l>0;l--){printf(" ");}
for (k=0;k printf("%4d",k+1);
if (j>5) {
j=j-7;
printf("\n");
printf(" ");
}
}
printf("\n");
}
return 0;
}
int sss(int year){
int a=6;
int y;
y=1583;
for(;y if ((y%100!=0)&&(y%4==0)||(y%400==0) ) a=(a+2)%7;
else a=(a+1)%7; }
return a;
}
int main()
{
printf("input year:");
int year;
int j;
scanf("%d",&year);
printf("\n");
j=sss(year);
hnl(year,j);
return 0;
}