首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
admin
2017-07-27
43
问题
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。
例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 int isleap(int year)
3 {int leap;
4 leap=(year%4==0 &&year%100 !=0|| year%400==0);
5 /**********found**********/
6 return__(1)__;
7 }
8 int fun(int year,int month,int day) {int {table[13]={0,31,28,31,30,31,
9 30,31,31,30,31,30,31};
10 int days=0,i;
11 for(i=1;i<month;i++)
12 days=days+table
;
13 /**********found**********/
14 days=days+__(2)__;
15 if(isleap(year)&&month>2)
16 /**********found**********/
17 days=days+__(3)__;
18 return days;
19 }
20 main()
21 { int year,month,day,days;
22 printf(’’请输入年、月、日:’’);
23 scanf(’’%d%d%d’’,&year,&month,& day);
24 days =fun(year,month,day);
25 printf(’’%d年%d月%d日是该年的第%d天\n’’,year,month,day,days);
26 }
选项
答案
(1)leap (2)day (3)1
解析
第一空:“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/4KDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下述语句中,在字符串s1和s2相等时显示"theyareEqual"的是()。
若语句“t=fun(fun(x,y,A),(a+b,a+C),x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是()。
设变量均已正确定义,若要通过scanf("%d%c%d%c”,&a1,&e1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)fo
数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-A);}
已有定义:“double*p;”,请写出完整的语句,利用malloc函数使p指出一个双精度型的动态存储单位_________。
栈和队列的共同特点是()。
是构成C语言程序的基本单位。
数据处理的最小单位是
随机试题
出版物发行员在进货时要十分注意区分出版物同名称而内容不同、同内容而名称不同的情况。()
常用络石藤而不用雷公藤治疗的病证是
为了鼓励降低能源消耗,国家决定给予电动汽车生产企业每辆5万元的补贴。对于电动汽车生产企业而言,这种补贴行为属于()。
()对于碳水化合物相当于汞对于()
互联网上每一个网络或每一台主机所分配的逻辑地址称为IP地址。目前,IP地址主要有IPv4地址和IPv6地址两大类别。下列对应错误的是:
工业革命是促使工场手工业发展到大机器生产的一次革命,是资本主义发展史上的重要阶段。下列关于工业革命的影响,说法正确的有()。
在中国早期马克思主义者的队伍中,作为先驱者和擎旗人的是()。
设直线L:求该旋转曲面介于z=0与z=1之间的几何体的体积.
Pleasegiveaheadingtothepassage.Howtoread______.Ifyouareverybusy,howcouldyougetthemajorinformationfromt
A、OniPodyoucanwatchallTVprogramsofABCB、TwoABChitsareavailableoniPod.C、TheiPodwilljoindigitalvideorecorder
最新回复
(
0
)