用c语言结构体写出输入日期并输出该日期是本年的第几天
时间: 2023-10-26 08:07:12 浏览: 120
以下是用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 date) {
int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
for (int i = 1; i < date.month; i++) {
dayOfYear += days[i];
}
dayOfYear += date.day;
if (isLeapYear(date.year) && date.month > 2) {
dayOfYear++;
}
return dayOfYear;
}
int main() {
struct Date date;
printf("请输入日期(格式:年 月 日):\n");
scanf("%d %d %d", &date.year, &date.month, &date.day);
printf("该日期是本年的第%d天。\n", getDayOfYear(date));
return 0;
}
```
运行结果如下:
```
请输入日期(格式:年 月 日):
2021 3 19
该日期是本年的第78天。
```
阅读全文