本题要求实现一个简单函数,计算年year、月month和日day对应的是该年的第几天。其中1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月平年有28天,闰年有29天。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。C语言完成
时间: 2023-07-10 09:16:58 浏览: 159
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
5星 · 资源好评率100%
可以使用一个数组,记录每个月份的天数,然后根据输入的年份是否为闰年来确定二月的天数。接着根据输入的月份和日数,累加之前所有月份的天数以及当前月份的天数即可。
以下是一个示例代码:
```c
#include <stdio.h>
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int get_day_of_year(int year, int month, int day) {
int days_of_month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, days = 0;
if (is_leap_year(year)) {
days_of_month[2] = 29;
}
for (i = 1; i < month; i++) {
days += days_of_month[i];
}
days += day;
return days;
}
int main() {
int year, month, day;
printf("请输入年月日,格式为 yyyy mm dd:");
scanf("%d %d %d", &year, &month, &day);
int day_of_year = get_day_of_year(year, month, day);
printf("%d 年 %d 月 %d 日是该年的第 %d 天\n", year, month, day, day_of_year);
return 0;
}
```
输入示例:
```
请输入年月日,格式为 yyyy mm dd:2021 8 23
```
输出示例:
```
2021 年 8 月 23 日是该年的第 235 天
```
阅读全文