首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,填补空缺。 [说明] 已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。 函数count_5
阅读以下说明和C语言函数,填补空缺。 [说明] 已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。 函数count_5
admin
2012-04-11
58
问题
阅读以下说明和C语言函数,填补空缺。
[说明]
已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。
函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。
程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。
[C语言函数]
int Count_5_13(int year)
{
int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/
long days=0; /*days记录天数*/
int m, y, c=0; /*c用于表示黑色星期五的个数*/
if(year<1900) return-1;
/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/
days=12;
for(y=1900; y<year; y++) {
days +=365;
if (iSLeapYear(Y)) ________ ;
}
date=((days%7)+1)%7;
/*算出给定年份year的1月13日是星期几+/
c=( ________ )?1:0;
for(m=1; ________ ; m++) {
switch(m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days=31; break;
case 4: case 6: case 9: case 11:
days=30; break;
case 2: days=28;
if( ________ )days=29;
break;
}/*end of switch*/
date=((days%7)+ ________ )%7;
if (date==5) c++;
} /*end of for*/
return c;
}
选项
答案
days=days+1或其他等价形式 date==5或其他等价形式 m<12或其他等价形式 isLeapYear(year)或其他等价形式 date
解析
对于2月份,需要考虑所在年份是否为闰年,如果不是,则按365天计算,否则天数要加1,所以(1)处应为days=days+1或其他等价形式。程序中date变量表示的是星期几,如果是星期五(即date==5)则c取值为1,否则为0,所PA(2)处应为date==5。因为要考虑到每个月的13日是否为周五,所以要对其进行遍历,但是1月份之前己考虑过,所以就要考虑2到12月,那么m就应该从1到11,所以(3)处应为m<12或m<=11,或其他等价形式。同时也很容易得出(4)处是判断年份是否为闰年,因此需要调用相应的判断函数,即(4)处应为isLeapYear(year)或其他等价表示。通过之前的代码分析,不难得到(5)处为date。
转载请注明原文地址:https://kaotiyun.com/show/hEVZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
在一个页式存储管理系统中,页表内容如下所示。 页号绝对页号 0 2 1 1 2 8 若页大小为1kB,逻辑地址的页号为2,页内地址为451,转换成的物理地址为(16)。
在下面列出的数据模型中,(14)是概念数据模型。
在如图1-3所示的进程状态转换图中,序号①、②、③的位置应分别填入(55)。
当用户数据需要在两个VLAN之间相互传输时,需要(35)等设备的支持。
在Windows 2000/XP/2003操作系统中,如果用户要整理C盘上的碎片,可选中C盘,(13),在“碎片整理”框中单击“开始整理(D)”按钮,在弹出的对话框中单击“碎片整理”按钮即可。
在Windows操作系统中,如果要暂停一个ping会话过程,正确的操作是(66)。
假设某计算机有1MB的内存,并按字节编址,为了能存取其中的内容,其地址寄存器至少需要(9)位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应(10)。若存储周期为200ns,且每个周期访问4B,则该存储器的带宽为(
在开放网络服务框架(OGSA)标准中定义了(70)的概念,它提供一组遵守特定的约定并定义明确的接口,是实体之间产生、管理和交换信息的机制。
随机试题
简述债的提存的概念和提存原因。
关于纤维支气管镜检查的术前准备,下列哪项是不正确的
在防止硅肺的工艺过程中,能根本消除粉尘危害的是
患者,女,45岁。患有类风湿性关节炎,长期服用解热镇痛药。近期咽喉肿痛、牙痛,邻居介绍服用新癀片。患者购药时向执业药师咨询,希望了解该药的更多信息。执业药师咨询患者一般情况和用药目的后,结合患者既往治疗情况,阻止了该患者购买新癀片。执业药师进一步说明,
公共关系学的研究对象是()。
哪些类型的家长比较难沟通?教师如何应对?
颅内压增高的病因包括()。
观刈表(唐)白居易田家少闲月,五月人倍忙。夜来南风起,小麦覆陇黄。
间歇训练法是在一次练习后,机体尚未完全恢复的情况下,再进行下一次练习的方法。()
(14)以静态或动态的连接方式,为应用程序提供一组可使用的类。(15)除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。
最新回复
(
0
)