c语言输入年月日计算第几天
时间: 2025-01-06 20:49:30 浏览: 18
在C语言中,可以通过输入年份、月份和日期来计算该日期是当年的第几天。以下是一个示例代码,展示了如何实现这一功能:
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
return 1;
else
return 0;
}
// 计算该日期是当年的第几天
int dayOfYear(int year, int month, int day) {
int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
// 如果是闰年,二月天数加1
if (isLeapYear(year))
daysInMonth[1] = 29;
// 累加前几个月的天数
for (int i = 0; i < month - 1; i++) {
dayOfYear += daysInMonth[i];
}
// 加上当前月的天数
dayOfYear += day;
return dayOfYear;
}
int main() {
int year, month, day;
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份: ");
scanf("%d", &month);
printf("请输入日期: ");
scanf("%d", &day);
int result = dayOfYear(year, month, day);
printf("%d年%d月%d日是当年的第%d天\n", year, month, day, result);
return 0;
}
```
这段代码首先定义了一个函数`isLeapYear`来判断输入的年份是否为闰年。然后定义了一个函数`dayOfYear`来计算该日期是当年的第几天。在`main`函数中,程序会提示用户输入年份、月份和日期,并输出结果。
阅读全文