【C语言程序设计】日期函数,日期处理函数!
? 计算某一天是对应年的第几天,这一年一共多少天;
? 计算两个日期之间相隔的天数。两个日期由键盘输入。
算法思想
设定结构
定义一个表示日期的结构体类型,再分别定义函数完成下列功能: ? 计算某一天是对应年的第几天,这一年一共多少天; ? 计算两个日期之间相隔的天数。两个日期由键盘输入。 算法思想 设定结构体类型表示日期类型名为 Date,利用 typedef 将其定义为日期型类型名,有三个整型类型的成员分别表示年、月、日。 设定函数计算输入的日期是这一年的第几天。函数的形参为日期型变量,函数体中设定整型数组存放每个月的天数,二月份的天数为 28 天;设定函数判断年份是否为闰年以决定二月份的天数。根据输入的日期月份,在数组中将相应的月份天数求和,假日曰期即为天数。 设定函数完成两个日期的比较,比较形参 d 和 s 两个日期的大小。首先比较年,同年的比较月,同月的比较日。变量 start 保存输入的小的日期年份,end 保存输入日期大的年份,然后计算两个日期之间的天数。 程序由 6 个函数构成: yearday() 函数计算某年的天数, monthday() 函数计算某年二月份的天数, dayofyeaK() 函数计算某日期是某年的第几天, cmpdate() 函数比较两个日期的大小, interday() 函数计算两个日期之间的天数; dayofyear() 函数调用 monthday() 函数; interday() 函数调用 cmpdate() 函数、yearday() 函数、dayofyear() 函数; 主函数调用 yearday() 函数、dayofyear() 函数、interday() 函数。 程序代码
调试运行结果 输入 2009 年 2 月 1 日和 2015 年 2 月 1 日,程序运行结果如下所示: input date:2009 2 1 2015 2 1 2009 days 365 2009-2-1 is the 32 day. 2009-2-1 and 2015-2-1 distance 2191 days 总结 结构体变量作为函数参数可以有以下两种形式。 ① 结构体变量的成员作为函数的实参,则对应定义函数的形参为普通变量或数组。 如实例程序代码中的“y=yearday(d1.year);”“months[2]=monthday(d.year);”两条语句,调用函数的实参分别为结构体变量 d1 和 d 的成员 year; 对应的被调用函数 yearday()、monthday() 的形参都为 int year,是普通的整型变量。 ② 函数的实参为结构体变量,则对应函数的形参应该也是结构体变量,其传递方式和普通变量一样,采用的是值传递方式。 如程序代码中的 dayofyear()、cmpdate() 和 interday() 函数的形参均为结构体 Date 的变量Mssq日期函数,在程序调用时实参也为结构体 Date 的变量。 不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~ 【值得关注】我的编程学习交流专栏: 全栈程序员正在等你加入~ (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |