C语言用数组的方式输入年月日查看第几天
时间: 2025-01-20 20:10:18 浏览: 49
在C语言中,可以通过使用数组的方式来输入年月日并计算该日期是当年的第几天。具体步骤如下:
1. **定义每个月的天数**:由于每个月的天数不同,可以定义一个数组来存储每个月的天数。
2. **判断闰年**:闰年的2月份有29天,平年有28天,因此需要编写一个函数来判断是否为闰年。
3. **计算天数**:根据输入的月份和日期,累加前几个月的天数,再加上当前月的日期。
以下是一个示例代码:
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1; // 是闰年
} else {
return 0; // 不是闰年
}
}
int main() {
int year, month, day;
int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份: ");
scanf("%d", &month);
printf("请输入日期: ");
scanf("%d", &day);
// 判断是否为闰年并修改2月份的天数
if (isLeapYear(year)) {
daysInMonth[1] = 29;
}
// 累加前几个月的天数
for (int i = 0; i < month - 1; i++) {
dayOfYear += daysInMonth[i];
}
// 加上当前月的日期
dayOfYear += day;
printf("%d年%d月%d日是当年的第%d天\n", year, month, day, dayOfYear);
return 0;
}
```
这个程序首先定义了一个数组 `daysInMonth` 来存储每个月的天数,然后通过 `isLeapYear` 函数判断是否为闰年,并根据结果修改2月份的天数。最后,通过循环累加前几个月的天数,再加上当前月的日期,得到该日期是当年的第几天。
阅读全文
相关推荐


















