首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填入正确的内容,并
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填入正确的内容,并
admin
2019-09-03
45
问题
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。
例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
int isleap(int year)
{int leap;
leap=(year&4==0&&year&100!=0‖year&400==0);
/**********found**********/
Eeturn___1___;
}
int fun(int year,int month,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;~<month;i++)
days=days+table
;
/**********found**********/
days=days+___2___;
if(isleap(year)&&month>2)
/**********found**********/
days=days+___3___;
reLurn days;
}
main()
{int year,month,day,days;
prntf("请输入年、月、日:");
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个数据按照常规月份来然后给出我们需要的月份和日数后进行常规统计),这是一般情况,如果是闰年的话且月份超过二月的话就加上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://www.kaotiyun.com/show/ZKRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
若有以下程序main(){inta=1,b=2,c=3,d=4,r=0;if(a!=1);elser=1;if(b==2)r+=2;if(c!=3);r+=3;if(d==4)r+=4;printf("%d\n",r);}则程
在学生管理的关系数据库中,存取一个学生信息的数据单位是
有以下程序fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printf("%d,",k);
有以下程序#includefunc(intn){staticintnum=1;num=num+n;printf("%d",num);}voidmain(){func(3);func(4);printf("\n");}程序运
下列关于栈的叙述中,正确的是
在数据库系统中,给出数据模型在计算机上物理结构表示的是()。
设有定义:intx=2,*p=&x;floaty=3.0;charz=’c’;,则立即进行以下运算有安全隐患的是()。
给定程序MODIl.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不
下列选项中属于面向对象设计方法主要特征的是
随机试题
由曲线y=4一x2及y=0所围成的图形绕直线x=3旋转一周,所得旋转体的体积V=
A.胎儿情况良好B.胎儿宫内缺氧、酸中毒C.胎头受压D.脐带受压E.镇静药物影响胎心监护发现胎心减慢开始于宫缩高峰后,下降缓慢,持续时间长,恢复亦缓慢表示
关于扑尔敏说法错误的是
某房地产开发公司将其拥有的房地产抵押给银行,以担保未来三年连续获得总额1.2亿元的贷款额度,下列表述中,正确的有()。
系统取决于人们对客观事物的观察方式,人们可以把()都视为一个系统。
有下列()情形之一的,可以经批准减征个人所得税。
下列各项中,属于土地增值税征收范围的是()。(2012年)
爱情与喜欢的区别主要在()等方面。
用差速离心法分离出某动物细胞的甲、乙、丙三种细胞器,测定其中三种有机物的含量,如图1所示。下列有关叙述正确的是()。
与多媒体视频压缩技术有关的是()。
最新回复
(
0
)