- 51
- 0
- 约8.58千字
- 约 9页
- 2021-04-23 发布于北京
- 举报
试卷第 PAGE 1 页共 NUMPAGES 1 页
初级程序员填空集试卷(初级程序员)
姓名:_____________ 年级:____________ 学号:______________
题型
选择题
填空题
解答题
判断题
计算题
附加题
总分
得分
评卷人
得分
1、[说明]
函数count months(DATE start, DATE end)的功能是:计算两个给定日期之间所包含的完整月份数。
该函数先算出起止日期中所含的完整年数,再计算余下的完整月份数。
规定两个相邻年份的同月同日之间的问隔为1年。例如,2007.5.30—2008.5.30的间隔为1年。若相邻两年中前一年是闰年,并且日期是2月29日,则到下一年的2月28日为1年,即2008.2.29—2009.2.28的间隔为1年。
规定两个相邻月份的相同日之间的间隔为1个月,但需要特别考虑月末的特殊情况。例如,2007.1.29—2007.2.28的间隔为1个月,同理,2007.1.30—2007.2.28、2007.1.31—2007.2.28的间隔都是1个月。
计算起止日期间隔不足一年的完整月份数时,分两种情况:
(1)起止日期不跨年度。先用终止日期的月号减去起始日期的月号得到月份数,然后再根据情况进行修正。例如,起止日期为2008.3.31—2008.9.20,通过月号算出月份数为6。修正时,通过调用函数makevalid将2008.9.31改为2008.9.30,与终止日期2008.9.20比较后,将月份数修正为5。
(2)起止日期跨年度。计算方法如下例所示:对于起止日期2008.7.25—2009.3.31,先计算2008.7.25—2008.12.25的月份数为5,再算出2008.12.25—2009.3.25的月份数为3,因此2008.7.25—2009.3.31之间的完整月份数为8。
日期数据类型定义如下:
typedef struct
int year; int month; int day; /*日期的年号(4位)、月和日号*/
DATE;
程序中使用的函数cmp_date( )、isLeapYear( )和makevalid( )说明如表11-8所示。 表11-8 函数说明 函数名参数返回值说明 cmp_dateDATE startDATE end-1:start<end0:start=end1:start>end比较两个日期的大小,例如,2007.1.30小于2007.5.152008.11.23等于2008.11.232008.1.31大于2007.5.15 isLeap Yearint year1:year表示的年号是闰年0:year表示的年号不是闰年判断给定年号是否为闰年 makevalidDATE *r无若日期*r是非法的,即*r不是闰年时其日期为2月29日,或者其4、6、9、11等月份出现了31日,则将其日期改为当月最后 [C语言函数]
int count_months(DATE start, DATE end)
int years=0, months=0;
DATE r;
if (cmp_date(start, end)>0)
r=start; start=end; end=r;
years=end.year-start.year; /*计算年数*/
r=start;
r.year=end.year;
if (cmp_date(r, end)>0) /*修正年数*/
(1);
r.year--;
if(r. year<end. year) /*跨年度时,先计算到12月的月份数*/
months= (2);
r. month= (12);
months+=(end. month+12-r. month)%12;
r. year=end. year; r. month=end. month;
makeva!id( (3)); /*将日期r修正为有效日期*/
if(cmp_date(r, end)>0) /*修正月份数*/
(4);
months+= (5); /*计算总月份数*/
return months;
2、[说明]
函数count months(DATE start, DATE end)的功能是:计算两个给定日期之间所包含的完整月份数。
该函数先算出起止日期中所含的完整年数,再计算余下的完整月份数。
规定两个相邻年份的同月同日之间的问隔为1年。例如,2007.5.30—2008.5.30的间隔为1年。若相邻两年中前一年是闰年,并且日期是2月29
您可能关注的文档
- 报关水平测试填空集试卷(报关水平测试).doc
- 报关水平测试填空集试卷(报关水平测试)_0.doc
- 报关水平测试填空集试卷(报关水平测试)_1.doc
- 报关水平测试填空试卷(报关水平测试).doc
- 报关水平测试填空试卷(报关水平测试)_0.doc
- 报关水平测试填空试卷(报关水平测试)_1.doc
- 报关水平测试填空试卷(报关水平测试)_2.doc
- 报关水平测试填空试卷(报关水平测试)_4.doc
- 报关水平测试填空试卷(报关水平测试)_6.doc
- 报关水平测试填空试卷(报关水平测试)_9.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)