输入年月日 返回当年第几天
时间: 2023-08-15 21:21:13 浏览: 98
以下是使用 C 语言编写的计算当年第几天的示例代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("Enter year, month and day (YYYY-MM-DD): ");
scanf("%d-%d-%d", &year, &month, &day);
int days = 0;
int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days_in_month[1] = 29;
}
// 计算当年已经过去的天数
for (int i = 0; i < month - 1; i++) {
days += days_in_month[i];
}
days += day;
printf("Day of year: %d\n", days);
return 0;
}
```
该程序首先从用户输入中获取年月日,然后根据闰年和平年的不同,确定每个月的天数。接着计算当年已经过去了多少天,最后输出当年的第几天。需要注意的是,闰年的判断方式是:能够被 4 整除但不能被 100 整除的年份,或者能够被 400 整除的年份。
阅读全文