1.编写一个c程序,定义一个有关日期的结构体类型变量(包括年、月、日),要求从
时间: 2024-01-25 11:02:03 浏览: 67
用户输入一个日期,然后输出该日期是该年的第几天。
以下是这个程序的实现:
```c
#include <stdio.h>
struct date {
int year;
int month;
int day;
};
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int get_day_of_year(struct date d) {
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int day_of_year = 0;
for (int i = 0; i < d.month - 1; i++) {
day_of_year += days[i];
}
day_of_year += d.day;
if (is_leap_year(d.year) && d.month > 2) {
day_of_year += 1;
}
return day_of_year;
}
int main() {
struct date d;
printf("请输入一个日期(格式: 年 月 日): ");
scanf("%d %d %d", &d.year, &d.month, &d.day);
int day_of_year = get_day_of_year(d);
printf("%d年%d月%d日是%d年的第%d天。\n", d.year, d.month, d.day, d.year, day_of_year);
return 0;
}
```
程序中定义了一个日期的结构体类型变量 `struct date`,包括年、月、日。并且定义了两个函数,`is_leap_year` 用于判断闰年,`get_day_of_year` 用于计算该日期是该年的第几天。
主函数中先从用户输入一个日期,然后调用 `get_day_of_year` 函数计算该日期是该年的第几天,并输出结果。
阅读全文