2080 Calendar

来源:互联网 发布:乱码翻译软件 编辑:程序博客网 时间:2024/06/05 07:23

#include<stdio.h>
int main()
{
 int m,n,i,k,y,r,w,t,s,q;
 char a,b;
 while(scanf("%d",&m)&&m!=-1)
 {
      m+=1;w=m;
  for(i=2000;;i++)
  {
   s=m;
   if(i%400==0||i%4==0&&i%100!=0)
    m-=366;
   else m-=365;   //先减去整年的天数;
   if(m<=0) break;   //如果少于一年的天数,跳出循环;
  }
  n=i;   //记录所在年份;
  for(i=1;i<=12;i++)
  {
   t=0;
   if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
    t+=31;
   if(i==4||i==6||i==9||i==11)
    t+=30;
   if(i==2)
   {
    if(n%400==0||n%4==0&&n%100!=0)
    t+=29;
       else t+=28;
   }
   if(t>=s) break;   //不足整月,跳出循环;
   else s-=t;   //减去整月的天数;
  }
  y=i;   //记录月份;

  r=s;  //记录天数;

  k=w%7;  //用于算星期;
        if(k==1) printf("%d-%02d-%02d Saturday\n",n,y,r);
  else if(k==2) printf("%d-%02d-%02d Sunday\n",n,y,r);
  else if(k==3) printf("%d-%02d-%02d Monday\n",n,y,r);
  else if(k==4) printf("%d-%02d-%02d Tuesday\n",n,y,r);
  else if(k==5) printf("%d-%02d-%02d Wednesday\n",n,y,r);
  else if(k==6) printf("%d-%02d-%02d Thursday\n",n,y,r);
  else if(k==0) printf("%d-%02d-%02d Friday\n",n,y,r);
 }return 0;
}

 

 

“%02” 标志0:对数值格式,在指定宽度的同时,输出数据左边空格处填以数字0

原创粉丝点击