|
C的,没检查,可能有bug
#include<stdio.h>
static int Dtab [2][13] =
{
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
};
int main()
{
int year,mon,date=1,day,last,i,temp;
scanf("%d,%d",&year,&mon);
if(year>9999||year<0||mon>12||mon<0)
{
printf("输入错误\n");
return 1;
}
temp = date + 2*mon + 3*(mon+1)/5 + year + year/4 - year/100 + year/400;
day=temp%7+1;
if((year)%4 == 0 && (year)%100 != 0 || (year)%400 == 0)
last = Dtab[0][mon];
else last = Dtab[1][mon];
printf("Sun Mon Tue Wen Thu Fri Sat\n");
if(day != 7)
{
for(i=1;i<day+1;i++)
printf(" ");
}
for(i=1;i<=last;i++)
{
if(i<10) printf("%d ",i);
else printf("%d ",i);
if((i+day)%7==0)
printf("\n");
}
printf("\n");
return 0;
} |
|