定义 结构体变量(包括 年、月、日),编程序实现以下功能:输入 年 月 日 后,程序计算出该日期在本月中有多少天 给出一组输入。例如:2000-8-1 在这里给出相应的输出。例如:2000年8月有31天
时间: 2023-11-22 22:51:49 浏览: 57
结构体变量(包括年、月、日),编程序,要求输入年月日,程序能计算并输出该日在本年中是第几天
以下是使用 C 语言实现的程序:
```c
#include <stdio.h>
struct Date {
int year;
int month;
int day;
};
int days_in_month(int year, int month) {
int days = 0;
switch (month) {
case 1:
days = 31;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
default:
break;
}
return days;
}
int main() {
struct Date date;
printf("请输入日期(格式:年 月 日):");
scanf("%d %d %d", &date.year, &date.month, &date.day);
int days = days_in_month(date.year, date.month);
printf("%d年%d月有%d天\n", date.year, date.month, days);
return 0;
}
```
程序中定义了一个 `Date` 结构体来存储年、月、日信息,并定义了一个 `days_in_month` 函数来计算一个月中有多少天,考虑了闰年的情况。在 `main` 函数中,首先输入日期信息,然后调用 `days_in_month` 函数计算本月中有多少天,并输出结果。
例如,输入 `2000 8 1` 后,程序会输出 `2000年8月有31天`。
阅读全文