定义一个表示日期的结构体类型,再分别定义函数完成下列功能:
✿ 计算某一天是对应年的第几天,这一年一共多少天;
✿ 计算两个日期之间相隔的天数。两个日期由键盘输入。
算法思想
设定结构体类型表示日期类型名为 Date,利用 typedef 将其定义为日期型类型名,有三个整型类型的成员分别表示年、月、日。
设定函数计算输入的日期是这一年的第几天。函数的形参为日期型变量,函数体中设定整型数组存放每个月的天数,二月份的天数为 28 天;设定函数判断年份是否为闰年以决定二月份的天数。根据输入的日期月份,在数组中将相应的月份天数求和,假日曰期即为天数。
设定函数完成两个日期的比较,比较形参 d 和 s 两个日期的大小。首先比较年,同年的比较月,同月的比较日。变量 start 保存输入的小的日期年份,end 保存输入日期大的年份,然后计算两个日期之间的天数。
程序由 6 个函数构成:
yearday() 函数计算某年的天数,
monthday() 函数计算某年二月份的天数,
dayofyeaK() 函数计算某日期是某年的第几天,
cmpdate() 函数比较两个日期的大小,
interday() 函数计算两个日期之间的天数;
dayofyear() 函数调用 monthday() 函数;
interday() 函数调用 cmpdate() 函数、yearday() 函数、dayofyear() 函数;