该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#define N 13
main()
{int y,m,D,q,t=0,i,day=0,a=0,Day,n,k,O[N]={0,31,29,31,30,31,30,31,31,30,31,30,31},p[N]={0,31,28,31,30,31,30,31,31,30,31,30,31};//y是年,m是月,D是日,q计算周几,t,i,k和a计数器,day,Day计算天数,O〔〕,p〔〕分别为闰年的月份天数和非闰年的月份天数,n计算年的间隔。
printf("请输入年,月,日。并以空格分开,按“enter”键结束输入。\n");
scanf("%d%d%d",&y,&m,&D);
for(n=1;n<=y-1;n++)
{if((n%4==0&&n%100!=0)||(n%400==0))
t+=1;
else a+=1;}//计算闰年和非闰年
printf("到前一年年末的天数=%d天\n",366*t+365*a);
if ((y%4==0&&n%100!=0)||(y%400==0))
{for(i=1;i
day=day+O[i];}
else {for(k=1;k
day=day+p[k];}//判断所输年份是否为闰年
Day=day+D;
q=(Day+366*t+365*a)%7;
printf("到前一个月月末的天数=%d天\n",day+366*t+365*a);
printf("到这一天的天数=%d天\n",Day+366*t+365*a);
switch(q)
{case 1: printf("这一天是星期一\n");break;
case 2: printf("这一天是星期二\n");break;
case 3: printf("这一天是星期三\n");break;
case 4: printf("这一天是星期四\n");break;
case 5: printf("这一天是星期五\n");break;
case 6: printf("这一天是星期六\n");break;
case 0: printf("这一天是星期日\n");break;
}
}