1.定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闺年问题。
时间: 2023-09-10 07:07:30 浏览: 98
以下是一个示例C语言代码,用于实现计算给定日期在本年中的第几天:
```c
#include <stdio.h>
struct date {
int year;
int month;
int day;
};
// 判断闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
} else {
return 0;
}
}
// 计算该日期在本年中的第几天
int dayOfYear(struct date d) {
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i;
int days = d.day;
// 加上该月之前的天数
for (i = 1; i < d.month; i++) {
days += daysInMonth[i];
}
// 如果是闰年并且当前月份大于2月,则加1
if (isLeapYear(d.year) && d.month > 2) {
days += 1;
}
return days;
}
int main() {
struct date d;
printf("请输入日期(格式:年-月-日):");
scanf("%d-%d-%d", &d.year, &d.month, &d.day);
printf("该日期在本年中的第%d天\n", dayOfYear(d));
return 0;
}
```
示例输出:
```
请输入日期(格式:年-月-日):2021-10-1
该日期在本年中的第274天
```
阅读全文