计算天数(15分)

雨点打透心脏的1/2处 2023-10-11 15:59 146阅读 0赞

计算天数 (15 分)

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:

  1. 2009/03/02

输出样例1:

  1. 61

输入样例2:

  1. 2000/03/02

输出样例2:

  1. 62

分析:本题主要是对闰年和非闰年的理解。

代码实现:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int year = 0, month = 0, day = 0, days = 0;
  5. int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  6. int b[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
  7. int temp = 0;
  8. scanf("%d/%d/%d", &year, &month, &day);
  9. if ((year % 4 == 0 && year % 100 != 0 || year % 400 == 0))//条件缺一不可
  10. temp = 1;
  11. else
  12. temp = 0;
  13. if (temp == 1)
  14. {
  15. for (int i = 0;i < month-1;i++)
  16. {
  17. days = days + b[i];
  18. }
  19. }
  20. else
  21. {
  22. for (int i = 0;i < month-1;i++)
  23. {
  24. days = days + a[i];
  25. }
  26. }
  27. days = days + day;
  28. printf("%d", days);
  29. return 0;
  30. }

发表评论

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

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

相关阅读

    相关 PTA 计算平均成绩 (15 )

    给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩(\[0,100\]区间内的整数),要求计算他们的平均成绩,并