首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
34
问题
阅读以下说明和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://jikaoti.com/ti/OvL7FFFM
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
数据模型是表示实体间联系的,网状模型、层次模型和关系模型都是数据库中的基本数据模型。在搜索数据时,关系模型是通过(14)实现的。
以下(42)不属于把CSS样式表与HTML。网页关联的方法。
Cache存储器通常采用(4)存储器件构成。
计算机网络中的子网掩码与IP地址的长度都是32bit,它的每一位与IP地址的每一位对应。假设C类IP地址的前24位为网络号,后8位为主机号,则它的子网掩码为(54)。
以太网策略中有3种监听方法,其中一种是,一旦“介质空闲就发送数据,假如介质忙,继续监听,直到介质空闲后立即发送数据”,这种算法称为(31)监听算法。这种算法的主要特点是(32)。 CSMA/CD协议具有:中突检测功能,网络中的站点一旦检测到>中突,就立即停
X.25是CCITT关于分组交换网络的通信协议,其内容包括OSI参考模型(61);分组在X.25网中的传输方式,不含(62);两个X.25公用分组网之间互连时,采用的互连协议为(63);公用分组交换网的地址(编号)根据X.121建议编制,该地址中表示国别的
X.25是CCITT关于分组交换网络的通信协议,其内容包括OSI参考模型(61);分组在X.25网中的传输方式,不含(62);两个X.25公用分组网之间互连时,采用的互连协议为(63);公用分组交换网的地址(编号)根据X.121建议编制,该地址中表示国别的
在数据通信中,使用编码方法为:将每个码元分为两个相等的间隔,码元l的前半部分为高电平,而后半部分为低电平,码元0在和码元1相反。这中编码方法为(35)。
随机试题
内涂层材料的各组分搅拌应用动力设备来进行,它能够搅拌整个料罐中的物质,防止夹带过多的空气。
小机关或基层单位没有必要设立专门的公文处理工作机构来进行公文处理工作。
A.肝左叶增大,右叶缩小,肝表面不光滑,肝实质回声增强、增粗,呈网格状B.肝萎缩,肝表面不光滑,肝实质回声增强、增粗,呈结节状C.肝大,肝表面光滑,肝实质回声减弱D.肝大,肝表面光滑,肝实质回声细密、增强,深部回声减弱E.肝大,肝表面光滑,肝实质回
下列哪项不是前列腺增生手术的绝对适应证
实验流行病学研究是口腔流行病学常用的一种研究方法,现拟进行一项实验研究,在饮水中加入氟,以观察氟防龋的效果。在实验的实施过程中,一定要遵循一些必要的原则,但不包括
为什么要编写作业指导书?怎样编写?怎样管理?
甲公司的董事乙以公司财产为丙提供担保,下列说法正确的是()。
意大利建立法西斯专政的原因不包括()。
设y=y(x)二阶可导,且y’≠0,x=x(y)是y=y(x)的反函数.(1)将x=x(y)所满足的微分方程=0变换为y=y(x)所满足的微分方程;(2)求变换后的微分方程满足初始条件y(0)=0,y’(0)=的解.
There’saschooloflinguisticsthatbelieveslanguagelearningbeginswitha"silentperiod".Justasbabieslearntoproduce
最新回复
(
0
)