#include "stdio.h" #include "string.h" #include "math.h" int panduan(int a,int b,int c) // a年b月c日 { if(b<=0||b>12) { printf("每年为12个月份,你所输入的%d不在这范围内",b); return 0; } if(b==1||b==3||b==5||b==7||b==8||b==10||b==12) if(c<=0||c>31) { printf("你输入的为%d月,本月共31天,你输入的%d不在此范围内",b,c); return 0; } if(b==4||b==6||b==9||b==11) if(c<=0||c>30) { printf("你输入的为%d月,本月共30天,你输入的%d不在此范围内",b,c); return 0; } if((a%4==0&&a%100!=0)||a%400==0) if(b==2) if(c<=0||c>29) { printf("你输入的为闰年的2月,本月共29天,你输入的%d不在此范围内",c); return 0; } if(b==2) if(c<=0||c>28) { printf("你输入的不是闰年的2月,本月共28天,你输入的%d不在此范围内",c); return 0; } if(a==1582&&b==10&&c>4&&c<15) { printf("因为特殊原因,不存在你所输入的1582年10月%d日",c); return 0; } char weak[7][5]={"周三","周四","周五","周六","周日","周一","周二"}; long long sum=365*(a-1)+c; int p=a/100,m=a/400; for(int l=1;l2) sum++; } else printf("你输入的%d年不是闰年\n",a); if(a>1582) sum-=10; else if(a==1582&&b>10) sum-=10; else if(a==1582&&b==10&&c>=15) sum-=10; else sum; int k=sum%7; printf("你输入的%d年%d月%d日为%s",a,b,c,weak[k]); } int danhang(int a) { int c[12]={31,28,31,30,31,30,31,31,30,31,30,31}; if((a%4==0&&a%100!=0)||a%400==0) c[1]++; int sum=(a-1)*365; if(a>1582) sum-=10; for(int i=1;i1582) sum-=10; for(int i=1;i