首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
admin
2021-07-09
31
问题
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。
例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
int isle’ap (int year)
{ int leap;
leap= (yearo04==0 && yearool00!=0 ||
yearo0400==0) ;
return____ (1)____;
}
int fun (int year,int monthr int day)
{int table [13] ={ 0,31,28,31,30,31,
30,31,31,30,31,30,31};
int days=0,i;
for(i=1; i
days=days + table
;
days=days+____ (2)____ ;
if (isleap (year) && month>2)
days=days+____ (3)____;
return days;
}
main()
{int year,monthf day,days;
printf("请输入年、月、日:");
scanf("%d%d%d",&year,&month,&day);
days=fun(year,month,day);
printf("%d年%d月%d日是该年的第%d天
\n",year,month,day,days);
}
选项
答案
(1) leap (2) day (3)1
解析
本题中函数fun的功能是根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回,其中要考虑是否为闰年。这道问题其实很简单,唯一要考虑的变化因素也只有闰年这个变化,而且这个变化导致的程序变化也很简单。首先设置常规的月份天数,这需要一个数组(注意这个数组应该有13个数据,而不是12个,因为月份是从1月份开始的,而数组是从位置0开始的,所以这里应该将数组的第一个数据定义为0,后面12个数据按照常规月份来然后给出我们需要的月份和日数后进行常规统计),这是一般情况,如果是闰年的话且月份超过二月的话就加上l即可,应该这种情况特别给出一个判断函数就行了。
第一空:“return____(1)____; p”这一空出现在isleap函数中,是为了判断我们给出的年份是否为闰年的函数,这里要填的为此函数的返回值。很明显地,这里的数据为leap,判断是否为闰年后,我们还需要返回leap是否是闰年。所以这一空应该填lea。
第二空:“days=days+____(2)____; p”这一空出现在fun函数中,所填的是days的数据结果算式,days即为我们需要统计的天数。这里根据条件和函数的下一步,我们可以看出来这里的days统计是当年份不为闰年时的天数统计,而当年份不为闰年时,只要将给出的月份前面几个月份天数相加,再加上这个月的日期即为这个给出年月日在这一年中的天数,再根据上一步我们知道算式右边的days代表的即为本月前面月份的天数总和,所以这里只需要加上本月的日期就可以得到我们需要的一年中的第几天。所以这一空应该填的是给出的日期day。
第三空:“days=days+____(3)____; p”这一空出现在fun函数中,这里所填也是days的数据,但是我们可以看到这里的days是在判断完为闰年且月份大于2时进行的计算,所以这里的days算法不同于上一步days的算法。根据常识我们都可以知道,闰年大于2的月份是要比普通的年份多一个2月29号的,所以要比普通的日期天数多一天,所以这里应该加上1,所以这一空应该填的是1。
转载请注明原文地址:https://kaotiyun.com/show/PKtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
有以下程序#includevoidfun2(chara,charB){printf("%c%c",a,b);}chara=’A’,b=’B’;voidfun1(){a=’C’;b=’D’;}main(){
下面属于白盒测试方法的是
下列叙述中正确的是
若有语句:char*line[5];,以下叙述中正确的是
在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数()。
在希尔排序法中,每经过一次数据交换后
下列选项中不符合良好程序设计风格的是
下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBc
随机试题
【B1】【B10】
【背景材料】A房地产公司拟投资建设六层砖混式居民小区,委托B建设监理公司为其代理招标。B监理公司在经过了详细分析后,向信誉良好、实力雄厚的建筑公司甲、乙、丙、丁发出了投标邀请书。这四家建筑公司在收到投标邀请书后私下谈判,决定通过提交不合理的报价的方
在网络技术中,“上载”是指把文件从远程计算机拷贝到用户本地计算机中的过程。()
根据国家统一的会计制度,会计核算软件应当具有()打印输出机内记账凭证的功能。
Whatistheteacherdoingintermsoferrorcorrection?T:Makeasentencewith"have"!S:Hehaveacar.T:HeHAVEa
1/e2
Ifyourchildonlypicksathisfood,hecanbetrainedtobeagoodeater.Thatwillhappenonlywhenyou’vechangedsome
Tomcoulddonothingbut______tothepolicethathehadstolenthemoneyfromthegirl’sbag.
Althoughwealreadyknowagreatdealaboutinfluenza,itisdifficultforepidemiologists(流行病学家),whostudyinfectiousdisease,
A、Mostofthemaresatisfied.B、Mostofthemareveryhappy.C、Mostofthemareunhappy.D、Mostofthemarenotsatisfied.A
最新回复
(
0
)