C语言实现万年历程序

  #include

  int year(int y)

  {

  if ((y%4==0) && (y%100!=0) || y%400==0)

  return 366;

  else

  return 365;

  }

  int main()

  {

  int y;

  int i,j,sum=0;

  int begin,week;

  int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};

  scanf("%d",&y);

  for(i=1;i

  sum+=year(i);

  week=(sum+1)%7; //表示该年1月1日为星期几

  if(year(y)==366)

  days[1]=29;

  printf("

  %d年日历如下:

  ",y);

  for(i=0;i<12;i++)

  {

  printf(" %d月

  ",i+1);

  printf(" 7 1 2 3 4 5 6

  ");

  printf("=====================

  ");

  begin=1;

  for(j=0;j

  printf(" ");

  while(begin<=days[i])

  {

  printf("%3d",begin);

  begin++;

  week=(week+1)%7;

  if(week%7==0)

  printf("

  ");

  }

  printf("

  ");

  }

  return 0;

  }