用c语言定义一个日期结构变量,输入日期并输出该日期是本年的第几天
时间: 2023-10-26 17:07:12 浏览: 157
输入日期计算这是一年中第几天C语言源代码.rar
以下是用C语言定义一个日期结构变量,输入日期并输出该日期是本年的第几天的代码:
```c
#include <stdio.h>
// 定义日期结构体
struct date {
int year;
int month;
int day;
};
// 判断是否为闰年
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
// 计算该日期是本年的第几天
int getDayOfYear(struct date d) {
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
for (int i = 1; i < d.month; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += d.day;
if (isLeapYear(d.year) && d.month > 2) {
dayOfYear++;
}
return dayOfYear;
}
int main() {
struct date d;
printf("请输入日期(yyyy-mm-dd): ");
scanf("%d-%d-%d", &d.year, &d.month, &d.day);
int dayOfYear = getDayOfYear(d);
printf("%d年的第%d天\n", d.year, dayOfYear);
return 0;
}
```
运行结果:
```
请输入日期(yyyy-mm-dd): 2022-01-01
2022年的第1天
```
阅读全文