用c语言写一个程序来计算某年某月某日是该年中的第几天
时间: 2023-06-12 19:02:20 浏览: 139
C语言计算某日是该年的第几天
好的,让我来回答你的问题。以下是计算某年某月某日是该年中的第几天的C语言程序:
```c
#include <stdio.h>
int main()
{
int year, month, day, days_in_month, total_days = 0;
printf("请输入年份(例如 2021):\n");
scanf("%d", &year);
printf("请输入月份(例如 12):\n");
scanf("%d", &month);
printf("请输入日期(例如 31):\n");
scanf("%d", &day);
/* 计算当前月份之前的天数 */
for (int i = 1; i < month; ++i) {
switch (i) {
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days_in_month = 29;
} else {
days_in_month = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days_in_month = 30;
break;
default:
days_in_month = 31;
}
total_days += days_in_month;
}
/* 加上当前月份的天数 */
total_days += day;
/* 如果是闰年并且月份超过2月份,则总天数需要加1 */
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if (month > 2) {
total_days += 1;
}
}
printf("该日期是该年中的第%d天\n", total_days);
return 0;
}
```
请注意,此程序假设输入是合法的,即年份为正整数,月份介于1-12之间,日期介于1-31之间。如果输入不合法,程序可能会出现不可预测的错误。
请让我知道,如果你有任何其他问题!
阅读全文