解题思路:这是最容易想到的解法,把每种情况列举出来。

注意事项:

参考代码:

#include <stdio.h>


struct Stu

{

int year;

int month;

int date;

};


int main()

{

struct Stu stu = { 0, 0, 0 };

scanf("%d%d%d", &stu.year, &stu.month, &stu.date);

if (stu.year % 400 == 0 || stu.year % 100 != 0 && stu.year % 4 == 0)

{

switch (stu.month)

{

case 1:

{

  printf("%d\n", stu.date);

  break;

}

case 2:

{

  printf("%d\n", 31 + stu.date);

  break;

}

case 3:

{

  printf("%d\n", 31 + 29 + stu.date);

  break;

}

case 4:

{

  printf("%d\n", 31 + 29 + 31 + stu.date);

  break;

}

case 5:

{

  printf("%d\n", 31 + 29 + 31 + 30 + stu.date);

  break;

}

case 6:

{

  printf("%d\n", 31 + 29 + 31 + 30 + 31 + stu.date);

  break;

}

case 7:

{

  printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + stu.date);

  break;

}

case 8:

{

  printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + 31 + stu.date);

  break;

}

case 9:

{

  printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + stu.date);

  break;

}

case 10:

{

   printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + stu.date);

   break;

}

case 11:

{

   printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + stu.date);

   break;

}

case 12:

{

   printf("%d\n", 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + stu.date);

   break;

}

}

}

else

{

switch (stu.month)

{

case 1:

{

  printf("%d\n", stu.date);

  break;

}

case 2:

{

  printf("%d\n", 31 + stu.date);

  break;

}

case 3:

{

  printf("%d\n", 31 + 28 + stu.date);

  break;

}

case 4:

{

  printf("%d\n", 31 + 28 + 31 + stu.date);

  break;

}

case 5:

{

  printf("%d\n", 31 + 28 + 31 + 30 + stu.date);

  break;

}

case 6:

{

  printf("%d\n", 31 + 28 + 31 + 30 + 31 + stu.date);

  break;

}

case 7:

{

  printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + stu.date);

  break;

}

case 8:

{

  printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + 31 + stu.date);

  break;

}

case 9:

{

  printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + stu.date);

  break;

}

case 10:

{

   printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + stu.date);

   break;

}

case 11:

{

   printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + stu.date);

   break;

}

case 12:

{

   printf("%d\n", 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + stu.date);

   break;

}

}

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论