diff --git a/124.cpp b/124.cpp new file mode 100644 index 0000000..e204c3e --- /dev/null +++ b/124.cpp @@ -0,0 +1,145 @@ +#include +#include +int printfweek() +{ +printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n","周日","周一","周二","周三","周四","周五","周六"); +} + int yearr(int year) +{ +if (year%4==0&&year%100||year%400==0) +return 1; +else +return 0; +} + +int tian(int month,int year) +{ +int day; +switch (month) +{ +case 1: +case 3: +case 5: +case 7: +case 8: +case 10: +case 12:day=31;break; +case 4: +case 6: +case 9: +case 11:day=30;break; +case 2:{ + if(year%400==0||(year%4==0&&year%100!=0)) + day=29; + else + day=28; + } + break; + +} +return day; +} + +int prifirst(int month,int year) +{ +int b; +if (month<3) +{ +month=month+12; +year--; +} +b=(1+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7; +return b; +} +int prtmonth(int month) +{ +switch (month) +{ +case 1:printf("%26s\n","一月\n");break; +case 2:printf("%26s\n","二月\n");break; +case 3:printf("%26s\n","三月\n");break; +case 4:printf("%26s\n","四月\n");break; +case 5:printf("%26s\n","五月\n");break; +case 6:printf("%26s\n","六月\n");break; +case 7:printf("%26s\n","七月\n");break; +case 8:printf("%26s\n","八月\n");break; +case 9:printf("%26s\n","九月\n");break; +case 10:printf("%26s\n","十月\n");break; +case 11:printf("%26s\n","十一月\n");break; +case 12:printf("%26s\n","十二月\n");break; +} +} +int main() +{ int a; + int year,month,i,c,week; + printf("1:查询某一年日历\n2:查询某年某月有几天\n3:查询某日是一年中的第几天\n"); + printf("请输入选项:\n") ; +scanf("%d",&a); +switch(a) +{ + case 1:printf("年份\n:"); + scanf("%d",&year); + for (month=1; month<=12; month++) { + c=1; + prtmonth(month); + printfweek(); + week=prifirst(month,year); + if (week!=6) + for (i=0; i<=week; i++) { + printf("\t"); + c++; +} + for (i=1; i<=tian(month,year); i++,c++) + { + printf("%d\t",i); + if (c%7==0) + { + printf("\n"); + } +} +printf("\n"); +} +return 0; +break; +case 2:int day; + printf("输入年月:\n"); + scanf("%d%d",&year,&month); + day=tian(month,year); + printf("%d年%d月有%d天",year,month,day); + return 0; + break; +case 3:int flag=0,le,sum; + printf("输入年月日:\n"); + scanf("%d%d%d",&year,&month,&day); + switch(month) + { case 1:sum=0;break; + case 2:sum=31;break; + case 3:sum=59;break; + case 4:sum=90;break; + case 5:sum=120;break; + case 6:sum=151;break; + case 7:sum=181;break; + case 8:sum=212;break; + case 9:sum=243;break; + case 10:sum=273;break; + case 11:sum=304;break; + case 12:sum=334;break; + default:flag=1; + } + if(flag==0) + { + sum=sum+day; + if(year%400==0||(year%4==0&&year%100!=0)) + le=1; + else + le=0; + if(le=1&&month>2) + sum++; + printf("%d月%d日是%d年的第%d天",month,day,year,sum); + return 0; + } + break; +} + + +} diff --git a/124.exe b/124.exe new file mode 100644 index 0000000..ecb39c5 Binary files /dev/null and b/124.exe differ