nihao7761吧 关注:26贴子:4,545
  • 6回复贴,共1
莫兹罗公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 c:世纪-1(前两位数) y:年(后两位数) m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算) d:日 [ ]代表取整,即只要整数部分
之前看夏日大作战里看到的
这个东西真是很厉害。
非常厉害。


1楼2010-07-09 16:39回复
    用途是 算任意一天是星期几


    2楼2010-07-09 16:40
    回复
      main()
      {
           int y,m,d,w,c,i=1;
           printf("year   ");     scanf("%d",&y);
           printf("month ");     scanf("%d",&m);
           printf("day    ");     scanf("%d",&d);
           while(i==1)
           {
               if    (      (y%4!=0&&m>0&&m!=2&&m<13&&d>0&&d<32)
                        ||(y%4!=0&&m==2&&d>0&&d<29)
                        ||(y%4==0&&m>0&&m!=2&&m<13&&d>0&&d<32)
                        ||(y%4==0&&m==2&&d>0&&d<30)                )
               {
                   c=y/100;
                   y=y-100*c;
                   if (m<3)
                   {
                   y=y-1;
                   m=m+12;
                   }
                   w=y+y/4;
                   w=w+c/4;
                   w=w-2*c+26*(m+1)/10+d-1;
                   w=w%7;
                   switch(w)
                   {
                    case 0:printf("Sunday");break;
                    case 1:printf("Monday");break;
                    case 2:printf("Tuesday");break;
                    case 3:printf("Wednesday");break;
                    case 4:printf("Thursday");break;
                    case 5:printf("Friday");break;
                    default:printf("Saturday");
                   }
               }
               else
               {
               printf("error \n \n");
               }
           printf("\n\nyear   ");     scanf("%d",&y);
           printf("month ");     scanf("%d",&m);
           printf("day    ");     scanf("%d",&d);
           }
           getch();
      }
      刚才做的程序


      3楼2010-07-09 16:46
      回复
        回复:4楼
        我是刚刚知道的


        5楼2010-07-11 15:06
        回复
          回复:8楼
          米有老师,
          因为不知道可以写成 while(1)
          看了你发的那个后,才知道的


          9楼2010-07-11 18:11
          回复
            已经有老师了。。。
            盯。


            11楼2010-07-11 20:44
            回复
              要去学的话,一定能学好的。


              13楼2010-07-12 19:54
              回复