第九周:C语言:第几天

╰+攻爆jí腚メ 2022-07-15 03:47 292阅读 0赞

问题:给定一个日期,输出这个日期是该年的第几天。

代码:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int y,m,d;
  5. int days;
  6. while (scanf("%d-%d-%d",&y,&m,&d)!=EOF)
  7. {
  8. if(((y%4==0)&&(y%100!=0))||(y%400==0))
  9. {
  10. switch(m)
  11. {
  12. case 1:
  13. days=d;
  14. break;
  15. case 2:
  16. days=d+31;
  17. break;
  18. case 3:
  19. days=d+31+29;
  20. break;
  21. case 4:
  22. days=d+31+29+31;
  23. break;
  24. case 5:
  25. days=d+31+29+31+30;
  26. break;
  27. case 6:
  28. days=d+31+29+31+30+31;
  29. break;
  30. case 7:
  31. days=d+31+29+31+30+31+30;
  32. break;
  33. case 8:
  34. days=d+31+29+31+30+31+30+31;
  35. break;
  36. case 9:
  37. days=d+31+29+31+30+31+30+31+31;
  38. break;
  39. case 10:
  40. days=d+31+29+31+30+31+30+31+31+30;
  41. break;
  42. case 11:
  43. days=d+31+29+31+30+31+30+31+31+30+31;
  44. break;
  45. case 12:
  46. days=d+31+29+31+30+31+30+31+31+30+31+30;
  47. break;
  48. }
  49. }
  50. else
  51. {
  52. switch(m)
  53. {
  54. case 1:
  55. days=d;
  56. break;
  57. case 2:
  58. days=d+31;
  59. break;
  60. case 3:
  61. days=d+31+28;
  62. break;
  63. case 4:
  64. days=d+31+28+31;
  65. break;
  66. case 5:
  67. days=d+31+28+31+30;
  68. break;
  69. case 6:
  70. days=d+31+28+31+30+31;
  71. break;
  72. case 7:
  73. days=d+31+28+31+30+31+30;
  74. break;
  75. case 8:
  76. days=d+31+28+31+30+31+30+31;
  77. break;
  78. case 9:
  79. days=d+31+28+31+30+31+30+31+31;
  80. break;
  81. case 10:
  82. days=d+31+28+31+30+31+30+31+31+30;
  83. break;
  84. case 11:
  85. days=d+31+28+31+30+31+30+31+31+30+31;
  86. break;
  87. case 12:
  88. days=d+31+28+31+30+31+30+31+31+30+31+30;
  89. break;
  90. }
  91. }
  92. printf("%d\n",days);
  93. }
  94. return 0;
  95. }

运行截图:

Center

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言:玩游戏

    问题:最近大帆喜欢上了玩英雄联盟,而且最喜欢杀别的英雄。大帆玩英雄联盟有个特点,每杀一个英雄他就会十分的兴奋,随之他长长的脑袋就会颤抖一下。根据我的对大帆的研究,他长长的脑袋颤

    相关 C语言:切面条

    问题: 一根高筋拉面,中间切一刀,可以得到2根面条。      如果先对折1次,中间切一刀,可以得到3根面条。      如果连续对折2次,中间切一刀,可以得到5根面条