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;}