MasssA


私信TA

用户名:1294309339

访问量:35207

签 名:

城市学院的渣渣

等  级
排  名 104
经  验 7965
参赛次数 6
文章发表 73
年  龄 0
在职情况 学生
学  校 城市学院的渣渣
专  业

  自我简介:

城市学院的渣渣

解题思路:

注意事项:

参考代码:#include<stdio.h>
int main()
{
   int n, m, i, a, b, sum = 0;
   scanf("%d %d", &n, &m);
   
   if(n >= 2007)
   {
      printf("---------------------\n");
      printf(" Su Mo Tu We Th Fr Sa\n");
      printf("---------------------\n");
      for(i = 2007; i <n; i++)
      {
         if((i%4==0  || i%400 == 0 )&& i%100!=0)
         {
             sum += 366;
         }
         else
         {
            sum += 365;
         }
      }
      b = sum%7;
      switch(m)
      {
      case 1: a = 1;break;
      case 2: a = 4;break;
      case 3: a = 4;break;
      case 4: a = 7;break;
      case 5: a = 2;break;
      case 6: a = 5;break;
      case 7: a = 7;break;
      case 8: a = 3;break;
      case 9: a = 6;break;
      case 10: a = 1;break;
      case 11: a = 4;break;
      case 12: a = 6;break;
      }
      a = (a+b)%7;
      if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
      {
          for(i = 0; i < a; i++)
          {
              printf("   ");
          }
          for(i = 1; i <= 31; i++)
          {
             printf("%3d", i);
             a++;
             if(a%7 == 0)
             {
                 printf("\n");
             }
          }
          printf("\n---------------------\n");
          return 0;
      }
      if(m == 4 || m == 6 || m == 9 || m == 11)
      {
      // printf("%d", a);
         for(i = 0; i < a; i++)
         {
             printf("   ");
         }
         for(i = 1; i <= 30; i++)
         {
             printf("%3d", i);
             a++;
             if(a%7 == 0)
             {
                 printf("\n");
             }
         }
         printf("\n---------------------\n");
         return 0;
      }
      if(m == 2)
      {
         if((n%4==0  || n%400 == 0 )&& n%100!=0)
         {
             for(i = 0; i < a; i++)
             {
              printf("   ");
             }
             for(i = 1; i <= 29; i++)
             {
               printf("%3d", i);
               a++;
               if(a%7 == 0)
               {
                  printf("\n");
               }
             }
             printf("\n---------------------\n");
             return 0;
         }
         else
         {
              for(i = 0; i < a; i++)
              {
               printf("   ");
              }
              for(i = 1; i <= 28; i++)
              {
                printf("%3d", i);
                a++;
                if(a%7 == 0)
                {
                 printf("\n");
                }
              }
              printf("\n---------------------\n");
              return 0;
         }
      }
   }
   if(n < 2007)
   {
       return 0;
   }
   return 0;
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区