fork(2) download
  1. #include <stdio.h>
  2. // 定义结构体表示日期
  3. struct Date {
  4. int year;
  5. int month;
  6. int day;
  7. };
  8.  
  9. // 判断是否为闰年
  10. int isLeapYear(int year) {
  11. return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
  12. }
  13.  
  14. // 计算该日在本年中是第几天
  15. int dayOfYear(struct Date date) {
  16. int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  17. if (isLeapYear(date.year)) {
  18. daysInMonth[2] = 29;
  19. }
  20. int sum = 0;
  21. for (int i = 1; i < date.month; i++) {
  22. sum += daysInMonth[i];
  23. }
  24. sum += date.day;
  25. return sum;
  26. }
  27.  
  28. int main() {
  29. struct Date date;
  30. scanf("%d %d %d", &date.year, &date.month, &date.day);
  31. int day = dayOfYear(date);
  32. printf("该日在本年中是第 %d 天\n", day);
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0.01s 5252KB
stdin
Standard input is empty
stdout
该日在本年中是第 32765 天