5.3例题--日历问题--2964

来源:互联网 发布:抓包软件有哪几种 编辑:程序博客网 时间:2024/05/26 05:51
#include <stdio.h>#include <stdlib.h>int leap(int y){    if( y%4!=0 || (y%100==0 && y%400!=0 ))return 0;    else return 1;}int main(int argc, char *argv[]){  int days, w, i, j;  char week[7][10] = {"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};  int year[2] = {365,366};  int month[2][12] = {31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};    while( scanf("%d",&days) && days!=-1 )  {         w = days%7 ;         for( i = 2000 ; days >= year[leap(i)] ; i++ )             days -= year[leap(i)] ;         for( j = 0 ; days >= month[leap(i)][j] ; j++ )             days -= month[leap(i)][j] ;         printf("%d-%02d-%02d %s\n",i,j+1,days+1,week[w]);  //注意输出格式%02d   }    system("PAUSE");  return 0;}