
#include |
int main ( void ) |
{ |
char *weeks[7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; |
char *ss[7]={"日","一","二","三","四","五","六"}; |
int year; |
int month; |
int day; |
int week; |
int monthday; |
int allday; |
allday=0; |
int i; |
int k; |
int h; |
h=0; |
printf ( "输入查询时期:" ); |
scanf ( "%d %d %d",&year,&month,&day ); |
for ( i=1900; i |
{ |
allday=allday+365; |
if ( ( i%4==0 ) && ( i%100!=0 ) || ( i%400==0 ) ) |
{ |
allday++; |
} |
} |
switch ( month ) |
{ |
case 1: |
monthday=31; |
break; |
case 2: |
allday+=31; |
monthday=28; |
break; |
case 3: |
allday+=31+28; |
monthday=31; |
break; |
case 4: |
allday+=31+28+31; |
monthday=30; |
break; |
case 5: |
allday+=31+28+31+30; |
monthday=31; |
break; |
case 6: |
allday+=31+28+31+30+31; |
monthday=30; |
break; |
case 7: |
allday+=31+28+31+30+31+30; |
monthday=31; |
break; |
case 8: |
allday+=31+28+31+30+31+30+31; |
monthday=31; |
break; |
case 9: |
allday+=31+28+31+30+31+30+31+31; |
monthday=30; |
break; |
case 10: |
allday+=31+28+31+30+31+30+31+31+30; |
monthday=31; |
break; |
case 11: |
allday+=31+28+31+30+31+30+31+31+30+31; |
monthday=30; |
break; |
case 12: |
allday+=31+28+31+30+31+30+31+31+30+31+30; |
monthday=31; |
break; |
} |
if ( ( year%4==0 ) && ( year%100!=0 ) || ( year%400==0 ) ) |
{ |
if ( month==2 ) monthday=29; |
if ( month>2 ) allday++; |
} |
int echo= ( allday+1 ) %7; //每月1号,是星期几 |
allday+=day; |
week=allday%7; //查询星期,是星期几 |
printf ( "\n距1900年1月1日: %d天 ",allday-1 ); |
if ( ( year%4==0 ) && ( year%100!=0 ) || ( year%400==0 ) ) |
printf ( "闰年 \n" ); |
else |
printf ( "平年 \n" ); |
printf ( "\n%d年 %d月 %d 日 %s\n\n",year,month,day,weeks[week] ); |
for ( i=0; i<7; i++ ) |
{ |
printf ( "%s\t",ss[i] ); |
} |
printf ( "\n\n" ); |
for ( k=0; k |
{ |
printf ( " \t" ); |
h++; |
} |
int d; |
for ( d=1; d<=monthday; d++ ) |
{ |
printf ( "%d\t",d ); |
h++; |
if ( h>6 ) |
{ |
h=0; |
printf ( "\n" ); |
} |
} |
return 0; |
} |



